首页 > 解决方案 > 生成 PowerSet 并将其作为列表返回

问题描述

我目前无法生成给定集合的幂集,例如 [1,2,3],并填充列表列表。我在 Prolog 完全是新手,并且能够生成这样的 powerset,但它是递归的并一一返回。

powerset([], []).
powerset([E|Tail], [E|OtherTail]) :-
    powerset(Tail, OtherTail).
powerset([_|Tail], OtherTail) :-
    powerset(Tail, OtherTail).

我正在尝试将其全部放入一个列表中:Example [1,2] -> [[1], [2], [1,2], []]

标签: prolog

解决方案


推荐阅读