zoukankan      html  css  js  c++  java
  • 斐波那契算法的对数解法 计算机程序的构造和解释 习题1.19

    程序由Scheme语言编写,待会上别的语言实现。

    #lang racket
    ;斐波那契对数法
    ;筛选
    (define (fib n)
      (fib-iter 1 0 0 1 n))
     
    (define (square x)
      (* x x))
     
    (define (fib-iter a b p q count)
      (cond ((= count 0) b);count = 0时,fib(1) = 0
            ((even? count);如果是偶数,那么,p,q的值分别为
             ;p = p^2 + q^2
             ;q = 2pq + q^2
             ;count的数值减半
            (fib-iter a
                      b
                      (+ (square p) (square q))
                      (+ (* 2 p q) (square q))
                      (/ count 2)))
            ;如果不是,即奇数,那么通过降一次幂进入下一步运算
      (else (fib-iter (+ (* b q) (* a q) (* a p))
                 (+ (* b q) (* a q))
                 p
                 q
                 (- count 1)))))
  • 相关阅读:
    jq function return value
    danci4
    danci3
    danci2
    项目总结 和语言总结。
    vm 安装 ox 10.13
    ios 异步和多线程
    ios 语法问题 全局变量。
    mvc
    object-c 之autolayout
  • 原文地址:https://www.cnblogs.com/pengjunwei/p/4234724.html
Copyright © 2011-2022 走看看