生成PowerSet并将其作为列表返回

时间:2018-06-10 23:59:10

标签: prolog

我目前在给定一个集合,示例[1,2,3]并填充列表列表时遇到生成功率集的问题。我在Prolog中完全是新手,并且能够生成这样的powersets,但它是递归的并且逐个返回它们。

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

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

0 个答案:

没有答案