gpt4 book ai didi

list - gnu Prolog powerset 修改

转载 作者:行者123 更新时间:2023-12-04 17:13:12 25 4
gpt4 key购买 nike

所以我得到了这个用于 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]在这个子集列表中,因为这些是从左边开始到右边的子集。

我试过使用附加和递归的组合,但这并没有达到我想要的效果。在这一点上有点难倒。

谢谢。

最佳答案

怎么样

powerset(L, [H|T]):-
append([H|T], _, L).
powerset([_|L], P):-
powerset(L, P).

关于list - gnu Prolog powerset 修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4146117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com