zoukankan      html  css  js  c++  java
  • 【SICP练习】14 练习1.20

    练习1.20
    这道题要求我们分别在正则序和应用序的情况下来研究书中的gcd函数,并且还要算出实际执行remainder运算的次数。

    题目中先问的正则序后问的应用序,但由于应用序比较简单,我们先来看看应用序:
    (gcd 206 40)
    (gcd 40 6)
    (gcd 6 4)
    (gcd 4 2)
    (gcd 2 0)
    2
    因此(gcd 206 40)共调用了5次remainder函数。

    再来看看正则序的情况:
    (gcd 206 40)
    (gcd 40 (remainder 206 40))
    (gcd (remainder 206 40) (remainder 40 (remainder (206 40))))
    (gcd (remainder 40 (remainder (206 40))) (remainder (remainder 206 40) (remainder 40 (remainder (206 40)))))
    (gcd (remainder (remainder 206 40) (remainder 40 (remainder (206 40))))) (remainder (remainder 40 (remainder (206 40))) (remainder (remainder 206 40) (remainder 40 (remainder (206 40))))))

    到这里就相当于参数是2和0了,在这里我已经将if去掉了,至于remainder调用多少次数数便知道了。

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

  • 相关阅读:
    Search Insert Position
    lintcode: 最长连续序列
    lintcode:颜色分类
    lintcode: 堆化
    lintcode: 旋转图像
    lintcode: 寻找旋转排序数组中的最小值
    lintcode: 跳跃游戏 II
    lintcode:最小差
    华为:数独填充
    华为:字符集合
  • 原文地址:https://www.cnblogs.com/NoMasp/p/4786216.html
Copyright © 2011-2022 走看看