用python实现斐波那契数列的求解有一种较常见的写法如下
def fib(n):
if n<=2:
return 1
else:
return fib(n-1)+fib(n-2)
但这种方法时间复杂度非常高,当n=50时所需要的时间就令人难以忍受其改进的写法如下
def fib(n):
a=1
b=1
c=1
while n>2:
c=a+b
a=b
b=c
n=n-1
if n<=2:
return c
这种写法可以有效减低时间复杂度,非常好用