gauche

写経再開.P108

プログラミングGauche

プログラミングGauche

(define (sum n)
  (if (= n 1)
      1
      (+ (sum (- n 1)) n)))
f(n) = 1 + 2 + .... + (n-1) + n
----------------------------------
f(1) = 1
f(2) = 1 + 2
     = f(1) + 2
f(3) = 1 + 2 + 3
     = f(2) + 3
....
f(n) = f(n-1) + n

手続き的ではなく、宣言的にかけるのが嬉しいんだね.