首页 > 其他 > 详细

【SICP练习】10 练习1.16

时间:2015-02-05 20:31:01      阅读:339      评论:0      收藏:0      [点我收藏+]


练习1.16

这道题题目特别长,说的无非就是要用一个不变量记录中间结果,然后写出对数步数内的通过迭代来计算幂的函数,当然了还要用到题目中括号内的那个关系。下面就直接上代码了:

(define(fast-expt b n)

       (fast-expt-iter 1 b n))

(define(fast-expt-iter a b n)

       (cond ((= n 0) a)

               ((even? n) (fast-expt-iter a

                                                          (square b)

                                                          (/ n 2)))

                ((odd? n) (fast-expt-iter (* a b)

                                                          b

                                                          (- n 1)))))

写完代码无一例外的就是测试了:

(fast-expt2 30)

;Value:1073741824

(fast-expt0.123 4)

;Value:.000228886641

【SICP练习】10 练习1.16

原文:http://blog.csdn.net/nomasp/article/details/43532645

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!