首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

SICP 练习题 (1.18) 解题总结

2013-11-02 
SICP 习题 (1.18) 解题总结SICP 习题 1.18是习题1.17的扩展,要求我们将1.17题中的对数步数求加法的过程修

SICP 习题 (1.18) 解题总结

SICP 习题 1.18是习题1.17的扩展,要求我们将1.17题中的对数步数求加法的过程修改成迭代方式。同时,习题1.18习题也是对习题1.16的强调,习题1.16是通过迭代方法求幂,这里是通过迭代方法求加法。


所以我们需要回过头去看习题1.16和1.17。


习题1.16是将以下函数进行修改:

(define (fast-mul-iter a cur-result b)  (cond ((= b 0) 0)((= b 1) (+ a cur-result))((even? b) (fast-mul-iter (double a) cur-result (halve b)))(else (fast-mul-iter a (+ a cur-result)  (- b 1)))))


所以说习题1.18没有什么难度,前提是你能够独立完成习题1.16和习题1.17 。


热点排行