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

Posted 小屁妞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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是先计算等号右边,右边计算完成再依次赋值给左边。





 


































以上是关于Python 两种方式实现斐波那契数列的主要内容,如果未能解决你的问题,请参考以下文章

PythonPython实现斐波那契数列

使用Python实现斐波那契数列

python2.7 使用生成器方式实现斐波那契数列

斐波那契数列java实现

python代码实现斐波那契数列数列

类似斐波那契数列的递归