アットウィキロゴ

リスト組み合わせ

||?-perm([1,2,3],X).
 
perm([],[]).
perm(Xs, [Z | Zs]) :- select(Z, Xs, Ys), perm(Ys, Zs).
 
select([],[],[]):- fail.
select(A,[A|L1],L1).
select(X,[A|L1],[A|L2]):-
		select(X,L1,L2).
 
%X       = [1,2,3];
%X       = [1,3,2];
%X       = [2,1,3];
%X       = [2,3,1];
%X       = [3,1,2];
%X       = [3,2,1];
最終更新:2012年09月05日 17:50