fibnacci数列递归实现20211318
作业要求
- 网上查询资料说明什么是fibnacci数列?
- 给出fibnacci数列的递归表达式代码实现
- 用python或scratch递归实现Fib(n),并进行测试,在你的计算机上1分钟内能计算出fib(10),fib(100),fib(1000),fib(10000)吗?
fibnacci数列
斐波那契数列指的是这样一个数列:
0 1 1 2 3 5 8 13 21 .....
这个数列从第3项开始,每一项都等于前两项之和。
fibnacci数列的递归表达式
f(1)=0,f(2)=1
f(n+1)=f(n)+f(n-1)
代码实现
def fib(n):
if n in [0,1]:
return n
return fib(n-1) + fib(n-2)
print(fib(10))
计算时间
当n=10时,一分钟内能算出,当n大于100后,要算很久
递归的复杂度很高。