このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1381909900/240
#  [1] 授業単元:プログラミング  
#  [2] 問題文(含コード&リンク): http://ime.nu/ideone.com/2viXY6 forかwhileをつかって 
#  1から10までの整数のうち、偶数の合計を求めなさい。
#  1から100までの整数で、奇数だけの合計、偶数だけの合計、総合計をもとめよ;
#  y=5x+8の値をxが0〜10まで、1ずつ増やした時のyの値
#  10^3+30^3+50^3+70^3+90^3の計算
#  

'1から10までの整数のうち、偶数の合計を求めなさい。'(_1から10までの整数のうち_偶数の合計) :-
        findsum(_1から10までの整数のうち_偶数の,(
                    '1から10までの整数のうち、偶数の'(_1から10までの整数のうち_偶数の)),
                _1から10までの整数のうち_偶数の合計).

'1から10までの整数のうち、偶数の'(_1から10までの整数のうち_偶数の) :-
        '1から10までの整数のうち、'(_1から10までの整数のうち_偶数の),
        偶数(_1から10までの整数のうち_偶数の).

'1から10までの整数のうち、'(_1から10までの整数のうち_偶数の) :-
        between(1,10,_1から10までの整数のうち_偶数の).

偶数(_1から10までの整数のうち_偶数の) :-
        0 is _1から10までの整数のうち_偶数の mod 2.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'1から100までの整数で、奇数だけの合計、偶数だけの合計、総合計をもとめよ'(_奇数だけの合計,_偶数だけの合計,_総合計) :-
        findsum([_奇数,_偶数,_1から100までの整数],(
                   '1から100までの整数で、'(_1から100までの整数),
                   '奇数、偶数'(_1から100までの整数,_奇数,_偶数)),
                [_奇数だけの合計,_偶数だけの合計,_総合計]).

'1から100までの整数で、'(_1から100までの整数) :-
        between(1,100,_1から100までの整数).

'奇数、偶数'(_1から100までの整数,_1から100までの整数,0) :-
        1 is _1から100までの整数 mod 2,!.
'奇数、偶数'(_1から100までの整数,0,_1から100までの整数) :-
        0 is _1から100までの整数 mod 2,!.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'y=5x+8の値をxが0〜10まで、1ずつ増やした時のyの値'(_yの値) :-
        between(0,10,_x),
        _yの値 is 5 * _x + 8,
        _x = 10.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

'10^3+30^3+50^3+70^3+90^3の計算'(_計算結果) :-
        findsum(X,(
                    member([M,N],[[10,3],[50,3],[70,3],[90,3]]),
                    '^'(M,N,X)),
                _計算結果).

'^'(_,0,1) :- !.
'^'(M,N,X) :-
        N_1 is N - 1,
        '^'(M,N_1,Y),
        X is M * Y.