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柯于旺 原创文章,如需转载请联系本人。

  • 相关阅读:
    马哥Linux——第三周作业
    [laravel]phpunit
    [laravel]要点
    [laravel]请求处理
    [angularJS]ng-hide|ng-show切换
    [yii2]urlmanger
    虚拟机bridged, NAT and host-only网络区别
    [yii]Fetch data from database and create listbox in yii
    [shell test] multiple conditions
    特殊的shell变量:
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786220.html
Copyright © 2011-2022 走看看