このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1381909900/194
#  [1] 授業単元:C言語 
#   
#  [2] 問題文(含コード&リンク): 
#   1〜100の整数のうち「6の倍数」の個数を表示するプログラムを作成しなさい、ただし、for文とif文を用いて作成すること 
#  1次元配列を用いて5人分の数学の得点を100点満点で入力し、「数学の得点の最小値と最大値」を画面表示、およびファイルに書き出すプログラムを作成しなさい。ただし、書き出し用ファイル名は「sugaku.txt」にしなさい。 
#   
#  

'1〜100の整数のうち「6の倍数」の個数を表示するプログラムを作成しなさい、ただし、for文とif文を用いて作成すること' :-
        '1〜100の整数のうち「6の倍数」の個数を'(_6の倍数の個数),
        表示する(_6の倍数の個数).

'1〜100の整数のうち「6の倍数」の個数を'(_6の倍数の個数) :-
        個数(('1〜100の整数のうち'(N),'「6の倍数」'(N)),_6の倍数の個数).

'1〜100の整数のうち'(N) :-
        between(1,100,N).

'「6の倍数」'(N) :-
        0 is N mod 6.

表示する(_6の倍数の個数) :-
        writef('6の倍数の個数は %t です\n',[_6の倍数の個数]).

個数(_副目標,_真になる度数) :-
        findsum(1,_副目標,_真になる度数).

findsum(_選択項,_副目標,_合計値) :-
        findall(_選択項,_副目標,_値ならび),
        sum_list(_値ならび,_合計値),!.