zoukankan      html  css  js  c++  java
  • 【SICP练习】10 练习1.16

    

    练习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

    版权声明:本文为 NoMasp柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    关于Android中的三级缓存
    Android中的自定义控件(二)
    Android中的自定义控件(一)
    安卓四大组件之内容提供者
    实施面试题
    实施相关资料
    短路运算符
    第二章SQL映射文件
    第一章 初始MyBatis
    周测
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786220.html
Copyright © 2011-2022 走看看