このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1312201995/33
#  [1] 授業単元: プログラミング  
#  [2] 問題文(含コード&リンク):1から15の数字から5個の数字を取って同じ数字が 
#  使われない並びの通りをすべて表示させなさい。 
#  例:1 2 3 4 5 
#      1 3 2 4 5 
#      11 12 10 9 8  
#  

'1から15の数字から5個の数字を取って同じ数字が使われない並びの通りをすべて表示させる' :-
        順列([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],5,L),
        concat_atom(L,' ',S),
        writef('%t\n',[S]),
        fail.
'1から15の数字から5個の数字を取って同じ数字が使われない並びの通りをすべて表示させる'.

順列(Y,0,[]).
順列(Y,N,[A|X]) :-
        del(Z = Y - A),
        M is N - 1,
        順列(Z,M,X).

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