计算斐波那契数列四种方法

#计算斐波那契数列方法
一。递归法一,一次调用两个递归,效率极低。
def func(n):
if n<3:return 1
else:
return func(n-1)+func(n-2)
print(func(2))

二。递归法二,调用一个递归,效率较高。
def func(n,a=1,b=1):
if n<3:return b
else:
return func(n-1,b,a+b)
ret=func(100)
print(ret)

三。使用循环,效率高。
def func(n):
a,b=1,1
while n>2:
a,b=b,a+b
n-=1
return b
print(func(100))
四。使用生成器,输出所有的数组。
def func(n):
if n==1:
yield 1
else:
yield from(1,1)
a,b=1,1
while n>2:
a,b=b,a+b
yield b
n-=1
for i in func(100):
print(i)
原文地址:https://www.cnblogs.com/qqq789001/p/13363527.html