- 587 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:53:59 ]
- >>616
% Prolog (その一) バケツソート(_整列されたならび) :- abolish('$temp'/2), findall(S,(for(1,_,2000),ランダムな文字列の発生(S)),L), バケツソート(L,_整列されたならび),!. バケツソート(L,_整列されたならび) :- バケツに吐き出す(L), findall(X,(鍵候補値を昇順に発生させる(S),バケツから拾い上げる(S,X)),_整列されたならび). 数値文字候補ならび(['0','1','2','3','4','5','6','7','8','9']). 鍵候補値を昇順に発生させる(S) :- 数値文字候補ならび(L), member(A,L),member(B,L),member(C,L),member(D,L),member(E,L), concat_atom([A,B,C,D,E],S). ランダムな文字列の発生(S) :- 数値文字候補ならび(L), findall(A,(for(1,_,5),M is (random mod 10) + 1,list_nth(M,L,A)),L2), concat_atom(L2,S),!.
|

|