zoukankan      html  css  js  c++  java
  • 【SICP练习】11 练习1.17

    

    练习1.17

    这道题中有2个需要我们自己先写出来的函数doublehalve,当然了,这都非常容易实现:

    (define(double x)

           (+ x x))

    (define(halve x)

           (/ x 2))

    题目中要求我们设计一个类似于fast-expt的求乘积的过程,并且只用对数的步数。

    (define(* x y)

           (cond ((= y 0) 0)

           ((even? y) (double (* x (halve y))))

           ((odd? y) (+ x (* x (- y 1))))))

    我们继续来测试一下:

    (*2 10)

    ;Value:20

    (*3 60)

    ;Value: 180

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

  • 相关阅读:
    百度搜索技巧
    phpstorm知识点
    A-Z
    边框
    display
    布局
    盒模型
    浮动
    字体与图标
    pselect 问题
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786219.html
Copyright © 2011-2022 走看看