2010年11月7日日曜日

Prologの技芸 7.5節の練習問題

(1)
% no_doubles(Xs,Ys) :-
% Ysは,リストXsから重複した要素を取り除いたリストである.
no_doubles(Xs,Ys) :- no_doubles(Xs,[],Ys).
no_doubles([X|Xs],Ys,Zs) :-
nonmember(X,Ys), no_doubles(Xs,[X|Ys],Zs).
no_doubles([X|Xs],Ys,Zs) :-
member(X,Ys), no_doubles(Xs,Ys,Zs).
no_doubles([],Xs,Xs).

0 件のコメント: