antiset.pl

来自「关系算子的PROLOG描述 prolog人工智能语言」· PL 代码 · 共 25 行

PL
25
字号
%antiset(+LISTA,+LISTB,-LISTC)
%method1
%legal([],A).
%legal([H|A],B):-member(H,B),legal(A,B).

%anti(A,[],[]).
%anti(A,[H|T],[H|B]):-not(member(H,A)),anti(A,T,B).
%anti(A,[H|T],B):-member(H,A),anti(A,T,B).

%antiset(A,B,C):-legal(A,B),anti(A,B,C).


%method2
%antiset(A,B,C):-subset(A,B),intersection(A,B,X),subtract(B,X,C).
%
%
%
legal([ ],A).
legal([Ha|Ta],B):-member(Ha,B),legal(Ta,B).
anti(A,[ ],[ ]).
anti(A,[Hb|Tb],[Hb|B]):-not(member(Hb,A)),anti(A,Tb,B).
anti(A,[Hb|Tb],B):-member(Hb,A),anti(A,Tb,B).
antiset(A,B,C):-legal(A,B),anti(A,B,C).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?