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

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

'表示する数字は読み込まれた整数値の個数とする。'(_個数) :-
        整数を得る(整数値,true,_個数).

'1234567890を繰り返し表示する'(N,N) :- !.
'1234567890を繰り返し表示する'(N,_個数) :-
        M is N mod 10,
        指定位置の数字を表示する(_文字列,M),
        N_2 is N + 1,
        '1234567890を繰り返し表示する'(N_2,_個数).

指定位置の数字を表示する(_文字列,M) :-
        sub_atom(_文字列,M,1,_,_数字),
        writef('%t',[_数字]).