このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1364700745/961
#  【質問テンプレ】 
#  [1] 授業単元:c言語 
#  [2] 問題文(含コード&リンク):右に示すように1234567890を繰り返し表示するプログラムを作成せよ。なお、表示する数字は読み込まれた整数値の個数とする。 
#  右に示されている図 
#  整数の入力してください:25 
#  1234567890123456789012345 
#  

'1234567890を繰り返し表示するプログラムを作成せよ。なお、表示する数字は読み込まれた整数値の個数とする。' :-
        整数を得る(整数,true,_個数),
        length(Ln,_個数),
        '1234567890を繰り返し表示する'(Ln,'1234567890',0).

'1234567890を繰り返し表示する'([],_,_).
'1234567890を繰り返し表示する'([_|Ln],_文字列,_取り出し位置) :-
        sub_atom(_文字列,_取り出し位置,1,_,_文字),
        write(_文字),
        次の取り出し位置(_取り出し位置,_次の取り出し位置),
        '1234567890を繰り返し表示する'(Ln,_文字列,_次の取り出し位置).

取り出し位置の更新(9,0) :- !.
取り出し位置の更新(_取り出し位置,_次の取り出し位置) :-
        _次の取り出し位置 is _取り出し位置 + 1.