python_实现_斐波那契额函数

时间:2023-03-09 08:30:30
python_实现_斐波那契额函数

在学递归的时候,用递归实现了一个

下面是代码

 def fib(n):
if n >= 3:
return fib(n-1)+fib(n-2)
else:
return 1
print(fib(6))

发现一个很严重的问题:当数字比较小的时候还好,但是当求30以后的数字的时候,就会运行特别长的时间

所以请看下面一种方法

 while True:
def fib(n):
result = [1,1]
for i in range(n-2):
result.append(result[-2]+result[-1])
return result[-1] n = input('你想知道第多少个斐波那契数:')
if n == 'q':
break
else:
n = int(n)
print('result = %d'%(fib(n)))

发现速度提升特别大,求第1000个数都可以,牛!