gpt4 book ai didi

list - Prolog程序以任意顺序查找两个列表的相等性

转载 作者:行者123 更新时间:2023-12-02 06:15:35 24 4
gpt4 key购买 nike

我想编写一个Prolog程序来查找两个列表的相等性,其中元素的顺序
没关系所以我写了以下内容:

del(_, [], []) .
del(X, [X|T], T).
del(X, [H|T], [H|T1]) :-
X \= H,
del(X, T, T1).

member(X, [X|_]).
member(X, [_|T]) :-
member(X, T).

equal([], []).
equal([X], [X]).
equal([H1|T], L2) :-
member(H1, L2),
del(H1, L2, L3),
equal(T, L3).

但是,当我给出类似 equal([1,2,3],X).的输入时,它并不会显示 X的所有可能值。而是,程序卡在中间。可能是什么原因?

最佳答案

isSubset([],_).
isSubset([H|T],Y):-
member(H,Y),
select(H,Y,Z),
isSubset(T,Z).
equal(X,Y):-
isSubset(X,Y),
isSubset(Y,X).

关于list - Prolog程序以任意顺序查找两个列表的相等性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2710479/

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