- 106 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 16:43:57 ]
- % Prolog >>105とは対照的なプログラム
t104(Atom,AtomX) :- findall([0,N],for(97,N,122),L), to_lower(Atom,Atom2), atom_codes(Atom2,L1), t104_2(L1,L,L2), sort(L2,L3), t104_3(L3,[],L4), atom_codes(AtomX,L4),!. t104_2([],X,X). t104_2([A|R1],L,X) :- t104_3(A,L,L1), t104_2(R1,L1,X). t104_3(97,[[S,N]|R],[[S1,N]|R]) :- S1 is S+1. t104_3(N,[U|R1],[U|R2]) :- N > 97, M is N-1, t104_3(M,R1,R2). t104_4([],X,X). t104_4([[0,_]|R1],Y,X) :- t104_4(R1,Y,X). t104_4([[C,N]|R1],Y,X) :- C > 0, t104_4(R1,[N|Y],X).
|

|