このディレクトリの索引

# 出題場所 :: http://toro.2ch.net/test/read.cgi/tech/1357191974/658 # 任意精度整数モジュールを使ってバグ修正したかったが、 # 諸事情でそれもできなかったので出題の意図を縮小して訂正。 # # お題:1から10000までの整をすべて足せ。 # すべて足したら、その合計を表示せよ。 # # 回答例: Objective Caml version 3.08.1 # let sum1to n = # let rec f sum n = # if n = 0 then sum # else f (sum + n) (n - 1) in # f 0 n;; # print_int (sum1to 10000);; # ↓ # 50005000 # # '1から10000までの整数をすべて足せ。すべて足したら、その合計を表示せよ。' :- '1から10000までの整数をすべて足せ。'(_合計), 'すべて足したら、その合計を表示せよ。'(_合計). '1から10000までの整数をすべて足せ。'(_合計) :- '1から10000までの整数を'(_1から10000までの整数ならび), 'すべて足せ。'(_1から10000までの整数ならび,_合計). '1から10000までの整数を'(_1から10000までの整数ならび) :- findall(_1から10000までの整数,'1から10000までの'(_1から10000までの整数),_1から10000までの整数ならび). '1から10000までの'(_1から10000までの整数) :- between(1,10000,_1から10000までの整数). 'すべて足せ。'(_1から10000までの整数ならび,_合計) :- sum_list(_1から10000までの整数ならび,_合計). 'すべて足したら、その合計を表示せよ。'(_合計) :- writef('その合計は%w\n',[_合計]).