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 清理boot分区
    Linux 虚拟内存
    使用mongoskin操作MongoDB
    nodejs操作session和cookie
    nodejs接收get参数和post参数
    Tomcat--在IDEA创建Java Web项目,通过tomcat启动
    Tomcat--配置
    Mac安装Tomcat
    XML--解析
    XML--约束
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786220.html
Copyright © 2011-2022 走看看