このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/tech/1267796762/710
#  【 課題 】 
#  1 から n までの整数の合計を返すメソッドをつくる 
#  【 形態 】Javaアプリケーション(main()で開始) 
#  【 期限 】1/7 
#  【 Ver  】1.6 
#  【 補足 】 
#  n<0の時は-1 + -2 + -3 + -4 + -5 ... +1 =合計 
#  のように合計を求める。 
#  nは符号付きint、合計の戻り値は符号付きlongです。 
#  nはランダムで10万回実行するのにかかる時間が 
#  わかるように表示する。 
#  合計が正確な値なのはnがどの範囲か、不正確である 
#  場合はどのような値が返されるか解答する(例外処理を 
#  入れろということだと思います)。 
# 
# 

'1 から n までの整数の合計を返すメソッドをつくる'(_n,_合計) :-
        _n >= 0,
        '1 から n までの整数の合計を返すメソッドをつくる'(1,_n,0,_合計).
'1 から n までの整数の合計を返すメソッドをつくる'(_n,_合計) :-
        _n < 0,
        '-1 から n までの整数の合計を返すメソッドをつくる'(-1,_n,0,_合計).

'1 から n までの整数の合計を返すメソッドをつくる'(_n,_n,_合計1,_合計) :-
        _合計 is _合計1 + _n,!.
'1 から n までの整数の合計を返すメソッドをつくる'(M,_n,_合計1,_合計) :-
        _合計2 is _合計1 + M,
        M_2 is M + 1,
        '1 から n までの整数の合計を返すメソッドをつくる'(M_2,_n,_合計2,_合計).

'-1 から n までの整数の合計を返すメソッドをつくる'(_n,_n,_合計1,_合計) :-
        _合計 is _合計1 + _n + 1,!.
'-1 から n までの整数の合計を返すメソッドをつくる'(M,_n,_合計1,_合計) :-
        _合計2 is _合計1 + M,
        M_1 is M - 1,
        '-1 から n までの整数の合計を返すメソッドをつくる'(M_1,_n,_合計2,_合計).