zoukankan      html  css  js  c++  java
  • SICP 1.20经验

    1.20 两者之间的主要区别是,使我们明白的操作顺序。

    网上找一些答案,都死了扩大。 我们所从事的IT的。 展开搞死人IT实践。


    首先考虑应用程序

    我们得到

    gcd(206, 40) -> gcd(40, 6) -> gcd(6, 4) -> gcd(4,2)->gcd(2,0)  总共4次递归调用,每次递归做一次取余数运算。


    那么。 正则序列怎么知道呢? 一种办法是全然按步骤做法。 这是计算机思维。 搞IT的就要换数学思维。

    先看看规律。 206-> 40-> 6-> 4 -> 2   存在某种序列关系。我们设定一个序列A。表示求该数所需的余数次数,那么必定有

    A[0] = 0, A[1] = 0, A[2] = 1, A[3]  = 1+ A[1] + A[2], A[n]  = 1 + A[n-1] + A[n-2] 为什么?

    由于 An = r(A[n-1], A[n-2]) 依照正则求值规则,我们先要展开A[n-1]。A[n-2], 最后再计算A[n]。必定有该公式。


    接下来考虑怎样用A来求答案。

    通过代码能够知道。 前面的递归。 仅仅有if 里用到了b。 最后一次递归, 用到了a

    所以扩大的数

    A[1] + A[2] + A[3] + A[4] + A[5]  + A[4]  = 0 + 1 + 2 + 4 + 7 + 4  = 18次要

    相同。由A不管两个数可以得到典型的扩展。

  • 相关阅读:
    2017洛谷7月月赛总结
    poj3169 Layout
    poj3613Cow Relays
    洛谷P1418 选点问题
    poj3311Hie with the Pie
    poj1734Sightseeing trip
    poj3728The merchant
    洛谷P2420 让我们异或吧
    struts2.1笔记02:servlet简介
    struts2.1笔记01:MVC框架思想浅层理解
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4566350.html
Copyright © 2011-2022 走看看