SICP 1.9 solution

(define (+ a b)

  (if (= a 0)

      b

      (inc (+ dec a) b))))

计算(+ 4 5)的过程为:

(+ 4 5)

(1+ (+ 3 5))

(1+ (1+ (+ 2 5)))

(1+ (1+ (1+ (+ 1 5))))

(1+ (1+ (1+ (1+ (+ 0 5)))))

(1+ (1+ (1+ (1+ 5))))

(1+ (1+ (1+ 6)))

(1+ (1+ 7))

(1+ 8)

9

 

(define (+ a b)

  (if (= a 0)

      b

      (+ (dec a) (inc b))))

计算(+ 4 5)的过程为:
(+ 4 5)

(+ 3 6)

(+ 2 7)

(+ 1 8)

(+ 0 9)

9

 

前者为递归计算过程,后者为迭代过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值