SICP問題1.9
(+ a b)
を1足す(inc a)と1引く(dec b)を用いて実装する二つの定義
(define (+ a b) (if (=a 0) b (inc (+ (dec a) b))))
と
(define (+ a b) (if (=a 0) b (+ (dec a) (inc b))))
が再帰的(recursive)であるか、反復的(iterative)であるかっていう問題。
で、1つ目はrecursiveで2つ目はiterative(あえてここを英語にするのは覚えるため)
以下解答プロセス
1. (+ 4 5) (inc (+ 3 5)) (inc (inc (+ 2 5)) (inc (inc (inc (+ 1 5)) (inc (inc (inc (inc (+ 0 5)) (inc (inc (inc (inc 5)))) (inc (inc (inc 6))) (inc (inc 7)) (inc 8) 9 2. (+ 4 5) (+ 3 6) (+ 2 7) (+ 1 8) (+ 0 9) 9