zoukankan      html  css  js  c++  java
  • 阶乘与斐波那契数的理解

      在算法导论第三章中,提到了阶乘和斐波那契数,颠覆或者说是加深了我以前对这两种数的理解。以前是无法想象这个数有多大,但现在是有了一个概念。

      阶乘

      阶乘的定义为

    n!= n>0?1:n*(n-1)!

      根据斯特林公式Stirling有:

    n!=sqrt(2pi*n)*(n/e)^n*(1+THETA(1/n))


      由这个公式,数学中关于阶乘与其他函数大小的比较就了然了。

      另一个关系式也有所帮助:

    n!=sqrt(2pi*n)*(n/e)^n*e^(an)
    1/(12n+1)<an<1/(12n)

      斐波那契数

      其定义为

    F0=0
    F1=1
    F(i)=F(i-2)+F(i-1),i>=2


      序列为:

    0,1,1,2,3,5,8,13,21…………


      斐波那契数和黄金分割比例fai与^fai有密不可分的关系。

     黄金分割比例为下面方程的两个解:

    x^2=x+1


      解为:

    fai=(1+sqrt(5))/2=1.61803
    ^fai=(1-sqrt(5))/2=0.61803


     这样就有:

    Fi=(fai^i-^fai^i)/sqrt(5)


      可以归纳法证明。

     又由于:

    abs(^fai^i)/sqrt(5)<1/sqrt(5)<1/2
    ===>
    Fi=floor((fai^i)/sqrt(5)+1/2)


     这样,斐波那契数就是指数增长的。

  • 相关阅读:
    BestCoder Round #87 1001
    p1304 家族
    hdu 1003
    hdu 1231
    hdu 1232 畅通工程
    hdu 4107
    Robot Framework--用例、数据、流程分离例子
    Robot Framework--RIDE面板与库的说明
    Robot Framework--pybot命令
    Robot Framework--运行pybot时出错
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3192070.html
Copyright © 2011-2022 走看看