このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1335517816/458
#  [1] 授業単元:プログラミング演習 
#  [2] 問題文: 
#  1から100までの整数のうち,奇数の合計値を求めるプログラムをfor文を用いて作成 
#  1から100までの整数のうち,奇数の合計値を求めるプログラムをwhile文を用いて作成 
#  

'1から100までの整数のうち,奇数の合計値を求める'(_1から100までの整数のうち奇数の合計値) :-
        findsum(N,(
                    for(1,N,100),
                    1 is N mod 2),
                _1から100までの整数のうち奇数の合計値).

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

'1から100までの整数のうち,奇数の合計値を求める'(_1から100までの整数のうち奇数の合計値) :-
        length(L,100),
        findsum(N,(
                    append(L0,[_|_],L),
                    length([_|L0],N),
                    1 is N mod 2),
                _1から100までの整数のうち奇数の合計値).

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

'1から100までの整数のうち,奇数の合計値を求める'(_1から100までの整数のうち奇数の合計値) :-
        '1から100までの整数のうち,奇数の合計値を求める'(1,0,_1から100までの整数のうち奇数の合計値).

'1から100までの整数のうち,奇数の合計値を求める'(N,_1から100までの整数のうち奇数の合計値,_1から100までの整数のうち奇数の合計値) :-
        N > 100,!.
'1から100までの整数のうち,奇数の合計値を求める'(N,_合計値_1,_1から100までの整数のうち奇数の合計値) :-
        1 is N mod 2,
        _合計値_2 is _合計値_1 + N,
        N_2 is N + 1,
        '1から100までの整数のうち,奇数の合計値を求める'(N_2,_合計値_2,_1から100までの整数のうち奇数の合計値).
'1から100までの整数のうち,奇数の合計値を求める'(N,_合計値_1,_1から100までの整数のうち奇数の合計値) :-
        0 is N mod 2,
        N_2 is N + 1,
        '1から100までの整数のうち,奇数の合計値を求める'(N_2,_合計値_1,_1から100までの整数のうち奇数の合計値).

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

'1から100までの整数のうち,奇数の合計値を求める'(_1から100までの整数のうち奇数の合計値) :-
        '1から100までの整数のうち,奇数の合計値を求める'(1,_1から100までの整数のうち奇数の合計値).

'1から100までの整数のうち,奇数の合計値を求める'(N,0) :-
        N > 100,!.
'1から100までの整数のうち,奇数の合計値を求める'(N,_合計値_1) :-
        1 is N mod 2,
        N_2 is N + 1,
        '1から100までの整数のうち,奇数の合計値を求める'(N_2,_合計値_2).
        _合計値_1 is _合計値_2 + N.
'1から100までの整数のうち,奇数の合計値を求める'(N,_合計値_1) :-
        0 is N mod 2,
        N_2 is N + 1,
        '1から100までの整数のうち,奇数の合計値を求める'(N_2,_合計値_1).