(define (+ a b)
(if (= a 0)
b
(inc (+ (dec a) b))))
의 경우부터 보자면..
(+ 4 5)
-> (inc (+ (dec 4) 5)) -> (inc (+ 3 5))
-> (inc (inc (+ (dec 3) 5))) -> (inc (inc (+ 2 5)))
-> (inc (inc (inc (+ (dec 2) 5)))) -> (inc (inc (inc (+ 1 5))))
-> (inc (inc (inc (inc (+ (dec 1) 5 ))))) -> (inc (inc (inc (inc (+ 0 5)))))
-> (inc (inc (inc (inc 5))))
-> (inc (inc (inc 6)))
-> (inc (inc 7))
-> (inc 8)
-> (inc 9)
따라서 이는 되도는 형태이다.
(define (+ a b)
(if (= a 0)
b
(+ (dec a) (inc b))))
의 경우는
(+ 4 5)
-> (+ (dec 4) (inc 5)) -> (+ 3 6)
-> (+ (dec 3) (inc 6)) -> (+ 2 7)
-> (+ (dec 2) (inc 7)) -> (+ 1 8)
-> (+ (dec 1) (inc 8)) -> (+ 0 8)
-> 8
따라서 이는 반복하는 형태이다.

댓글 없음:
댓글 쓰기