【发布时间】:2015-07-12 13:17:43
【问题描述】:
目的是实现谓词noDupl/2。
这个谓词的第一个参数是要分析的列表,第二个参数是不重复的数字列表。
我无法理解下面的代码,当我编译它时,它给出了一条错误消息,指出contained 是未定义的过程,但是作为提示,它被写入我们可以用作预定义谓词contained 和notContained。我想我需要定义contained 和notContained。
noDupl(XS, Res):-
help( XS, [],Res).
help([],_,[]).
help([X|XS],Seen,[X|Res]):-
notContained(X,XS),
notContained(X,Seen),
help(XS, [X|Seen], Res).
help([X|XS],Seen,Res):-
contained(X,Seen),
help(XS, Seen, Res).
help([X|XS],Seen,Res):-
contained(X,XS),
help(XS, [X|Seen], Res).
谁能解释一下这个问题。
【问题讨论】:
标签: prolog