qqq789001
#计算斐波那契数列方法
一。递归法一,一次调用两个递归,效率极低。
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)

分类:

技术点:

相关文章:

  • 2021-11-23
  • 2021-04-25
  • 2021-02-18
  • 2021-09-27
  • 2021-10-16
  • 2022-01-14
猜你喜欢
  • 2021-04-12
  • 2021-10-29
  • 2021-12-16
  • 2021-12-21
  • 2022-01-18
  • 2021-12-15
  • 2021-09-06
相关资源
相似解决方案