Python 两种方式实现斐波那契数列

斐波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368......
这个数列从第3项开始,每一项都等于前两项之和。
 
 递归的方式实现
def fn(n):
if n==1:
return 1
elif n==2:
return 1
else:
return fn(n-1)+fn(n-2)

n=int(input())
for i in range(1,n+1):
print(fn(i))


循环的方式实现
a=1
b=1

n=int(input())
if n<=2:
print(1)
else:
print(1,1,end=' ')
for i in range(1,n-1):
a,b=b,a+b
print(b,end=' ')



这里介绍下 a,b=b,a+b
a,b=b,a+b是先计算等号右边,右边计算完成再依次赋值给左边。





 
原文地址:https://www.cnblogs.com/clairejing/p/8207064.html