このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1308749241/4
#  150スレ記念問題 
#  [1]授業単元:C言語演習 
#  [2] 16個の整数を昇順に整列したものを標準出力する関数 
#  void sort(int a,intb,intc,intd, int e,int f,int g,inth, inti,int j,int k,int l, int m,int n,int o,int p) 
#  を書きなさい 
#  但しコードには配列演算子やポインタ演算子が現れてはならない。 
#  [3]Linux(Ubuntu)/gcc4.5/C言語 
#  [4] この150スレが終わるまで 
#  [5]どのようなパターンでも確実に整列されることが必要です。 
#  出来るだけ短いコードでお願いします。 
# 
# 

'16個の整数を昇順に整列したものを標準出力する'(_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p) :-
        整数を昇順に整列したものを標準出力する([_a,_b,_c,_d,_e,_f,_g,_h,_i,_j,_k,_l,_m,_n,_o,_p]).

整数を昇順に整列したものを標準出力する(_整数のならび) :-
        整数を昇順に整列(_整数のならび,_昇順に整列した整数ならび),
        標準出力する(_昇順に整列した整数ならび).

整数を昇順に整列([],[]) :- !.
整数を昇順に整列(L1,[A|R]) :-
        append(L0,[A|R1],L1),
        \+((member(B,L0),B @< A)),
        \+((member(C,R1),C @< A)),
        append(L0,R1,L2),
        整数を昇順に整列(L2,R).

標準出力する(_昇順に整列した整数ならび) :-
        concat_atom(_昇順に整列した整数ならび,' ',S),
        writef('%t\n',[S]).