sicp practice 1.16

今天忍着蚊子的叮咬,把SICP习题1.16作了。
先写了递归版:
(define power
(lambda (m n)
(cond
((zero? n) 1)
((even? n) (square (power m (/ n 2))))
(else (* m (power m (- n 1)))))))

又写了迭代版:
(define power-iter
(lambda (m n product)
(cond
((zero? n) product)
((odd? n) (power-iter m (- n 1) (* m product)))
(else (power-iter (square m) (/ n 2) product)))))


自己定义的函数:
(define square
(lambda (m)
(* m m)))


在DrRacket下运行通过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值