fibnacci数列递归实现
fibnacci数列介绍
斐波那契数列又称黄金分割数列,因数学家莱昂纳多·斐波那契(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)
用python递归实现Fib(n)
- 代码1
def fib(n):
return 1 and n <= 2 or fib(n - 1) +fib(n - 2)
print('\n 最终结果为 %d'%(fib(100)))
时间:极长无比,算n=20时十分钟没算出来。
递归方式运算量极其大,一分钟之内算不出来
- 代码2
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)))
这种方式很快便能得出答案
参考文献: