写点什么

SICP 习题解答 1.9

用户头像
十元
关注
发布于: 2021 年 03 月 07 日

Exercise 1.9.  Each of the following two procedures defines a method for adding two positive integers in terms of the procedures inc, which increments its argument by 1, and dec, which decrements its argument by 1.


(define (+ a b)  (if (= a 0)      b      (inc (+ (dec a) b))))
(define (+ a b) (if (= a 0) b (+ (dec a) (inc b))))
复制代码


Using the substitution model, illustrate the process generated by each procedure in evaluating (+ 4 5). Are these processes iterative or recursive?


解答:

第一个 recursive

(+ 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
复制代码


第二个 iterative

(+ 4 5)(+ 3 6)(+ 2 7)(+ 1 8)(+ 0 9)9
复制代码


用户头像

十元

关注

还未添加个人签名 2018.09.26 加入

这人眼高手低 夸夸其谈

评论

发布
暂无评论
SICP 习题解答 1.9