このディレクトリの索引
http://pc12.2ch.net/test/read.cgi/unix/1127388574/83
#  1 
#  12 
#  123 
#  1234 
#  12345 
#  このプログラミング作成したい。 
#  for文を使って頼むorz 
# 

:- op(600,xfx,が).
:- op(700,xf,回現れるまで).

'ある文字がN回現れるまで1からの文字連鎖によって文字列を成長させながら表示する'(A が N 回現れるまで) :-
        文字連鎖によって文字列を成長させながら表示する(A が N 回現れるまで,'1',_文字列),
        write_formatted('%t\n',[_文字列]),
        fail.
'ある文字がN回現れるまで1からの文字連鎖によって文字列を成長させながら表示する'(_,_).

文字連鎖によって文字列を成長させながら表示する(_ が 0 回現れるまで,_文字列) :- !,fail.
文字連鎖によって文字列を成長させながら表示する(A が N 回現れるまで,_文字列,_文字列).
文字連鎖によって文字列を成長させながら表示する(A が N 回現れるまで,_文字列1,_文字列1,文字列) :-
        sub_atom(_文字列1,_,1,1,A),
        文字連鎖(A,_次の文字),
        atom_concat(_文字列1,_次の文字,_付加された文字列),
        N1 is N - 1,
        文字連鎖によって文字列を成長させながら表示する(A が N1 回現れるまで,_付加された文字列,文字列).
文字連鎖によって文字列を成長させながら表示する(A が N 回現れるまで,_文字列1,_文字列) :-
        sub_atom(_文字列1,_,1,1,_最後の文字),
        文字連鎖(_最後の文字,_次の文字),
        atom_concat(_文字列1,_次の文字,_付加された文字列),
        文字連鎖によって文字列を成長させながら表示する(A が N 回現れるまで,_付加された文字列,_文字列).
        
文字連鎖('1','2'). 文字連鎖('2','3'). 文字連鎖('3','4'). 文字連鎖('4','5'). 文字連鎖('5','6'). 
文字連鎖('6','7'). 文字連鎖('7','8'). 文字連鎖('8','9'). 文字連鎖('9','0'). 文字連鎖('0','1').

%%%%%%%%%%%%% 12345 数値ととらえれば %%%%%%%%%%%%%%%%%%%%%%%%%%%
:- op(600,xfx,が).
:- op(700,xf,回現れるまで).

'ある数値がN回現れるまで1からの数値連鎖によって数値列を成長させながら表示する'(_ が 0 回現れるまで,_) :- !.
'ある数値がN回現れるまで1からの数値連鎖によって数値列を成長させながら表示する'(A が N 回現れるまで,M) :-
        A is (M + 1) mod 10,
        M10 is M * 10,
        M2 is M10 + M1,
        write_formatted('%t',[M2]),
        N1 is N - 1,
        'ある数値がN回現れるまで1からの数値連鎖によって数値列を成長させながら表示する'(A が N1 回現れるまで,M2).
'ある数値がN回現れるまで1からの数値連鎖によって数値列を成長させながら表示する'(A が N 回現れるまで,M) :-
        M1 is (M + 1) mod 10,
        M10 is M * 10,
        M2 is M10 + M1,
        write_formatted('%t',[M2]),
        N1 is N - 1,
        'ある数値がN回現れるまで1からの数値連鎖によって数値列を成長させながら表示する'(A が N 回現れるまで,M2).