fibnacci数列递归实现20211318

作业要求

  1. 网上查询资料说明什么是fibnacci数列?
  2. 给出fibnacci数列的递归表达式代码实现
  3. 用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后,要算很久
递归的复杂度很高。

posted @ 2021-11-02 21:41  ahuahauhau  阅读(22)  评论(0)    收藏  举报