斐波那契数列又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从 1963 年起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。
f(1)=0,f(2)=1
f(n+1)=f(n)+f(n-1)
def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最终结果为 %d'%(fib(100)))
时间:极长无比,算n=20时十分钟没算出来。
递归方式运算量极其大,一分钟之内算不出来
def countfib(n): a=1 b=1 c=1 for i in range(n): if i<2: c=1 else: c=a+b a=b b=c return c print('\n 最终结果为 %d'%(countfib(200)))
这种方式很快便能得出答案
参考文献:
【1】python 入门之斐波那契数列递归表达式算法和非递归算法