このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/100
#  [1] 授業単元:c言語演習  
#  [2] 問題文 :9,2,8,1の数字四項の組み合わせをすべて表示しなさい。 
#  同じ数字が使われてる組み合わせはNGで表示しなさい。 
#  

'9,2,8,1の数字四項の組み合わせをすべて表示' :-
        順列([9,2,8,1],4,L),
        concat_atom(L,' ',S),
        writef('%t\n',[S]),
        fail.
'9,2,8,1の数字四項の組み合わせをすべて表示'.

順列(L,0,[]).
順列(L_1,N,[A|L]) :-
        del(A,L_1,L_2),
        N_1 is N - 1,
        順列(L_2,N_1,L).

del(A,[A|X],X).
del(A,[B|X],[B|Y]) :-
        del(A,X,Y).