【发布时间】:2010-11-10 15:35:06
【问题描述】:
所以我得到了这个用于 powerset:
powerset([], []).
powerset([H|T], P) :- powerset(T,P).
powerset([H|T], [H|P]) :- powerset(T,P).
这会生成一个列表的所有集合。是否可以按列表顺序生成所有集合。
例子:
List = [a,b,c]
我想得到
[a],[a,b],[a,b,c],[b],[b,c],[c]
请注意,此子集列表中没有[a,c],因为这些子集是从左到右的子集。
我尝试过使用追加和递归的组合,但并没有达到我想要的效果。在这一点上有点难过。
谢谢。
【问题讨论】:
标签: list prolog set substring dcg