このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1370255305/777
#  [1] 授業単元:標準入力から N を入力し、N 個のサイコロの出目の和の確率の一覧を作成せよ。 
#  [2] 問題文:確率は小数三位を四捨五入すること。 
#  N = 2 
#  1 : 0.00% 
#  2 : 2.78% 
#  3 : 5.56% 
#  4 : 8.33% 
#  5 : 11.11% 
#  6 : 13.89% 
#  7 : 16.17% 
#  8 : 13.89% 
#  9 : 11.11% 
#  10 : 8.33% 
#  11 : 5.56% 
#  12 : 2.78% 
#  [3.3] 言語:C 
#  [4] 期限:2013-08-04 22:00 
# 
# 

'標準入力から N を入力し、N 個のサイコロの出目の和の確率の一覧を作成せよ。 確率は小数三位を四捨五入すること。' :-
        '標準入力から N を入力し、'(_N),
        'N 個のサイコロの出目の和の確率の一覧を作成せよ。確率は小数三位を四捨五入すること。'(_N).

'標準入力から N を入力し、'(_N) :-
        整数を得る('サイコロの個数を入力してください',_N > 0,_N).

'N 個のサイコロの出目の和の確率の一覧を作成せよ。確率は小数三位を四捨五入すること。'(_N) :-
        'N 個のサイコロの出目の和'(_N,_N_6,_出目の和ならび),
        between(1,_N_6,_M),
        'サイコロの出目の和の確率を表示する。確率は小数三位を四捨五入すること。'(_出目の和ならび,_M,_N_6,_確率),
        '表示する。確率は小数三位を四捨五入すること。'(_M,_確率),
        _M = _N.

'N 個のサイコロの出目の和'(_N,_N_6,_出目の和ならび) :-
        _N_6 is 6 * _N,
        findall(Sum,(
                     重複順列([1,2,3,4,5,6],_N,L),
                     sum(L,Sum)),
                _出目の和ならび).

'サイコロの出目の和の確率。確率は小数三位を四捨五入すること。'(_出目の和ならび,_出目の和,_N_6,_確率) :-
        count(member(_出目の和,_出目の和ならび),Count),
        _確率 is ((Count / _N_6)  * 1000 + 5) / 1000.

'表示する。確率は小数三位を四捨五入すること。'(_M,_確率) :-
        writef('%t : ',[_M]),
        format('~2f%\n',[_確率]).