斐波那契数列
这里主要了解:1.斐波那契数列?以及,2.如何用python语言来实现斐波那契数列的打印?
1.什么事斐波那契数列:
斐波那契数列最大特点:前两项之和等于后一项,比如1+1=2、1+2=3、2+3=5、3+5=8、5+8=13…
我们用an表示一个数列的第n项,那么斐波那契数列的规律就是:
An+2 = An + An+1
第一二项比较特殊为:A1 = 1, A2 = 1
2.如何用python语言来实现斐波那契数列的打印?
先附上实现方法,再一步一步分解:
An = 1
An+1 = 1
for i in range(100):
if i == 0:
print(An)
elif i == 1:
print(An+1)
else:
An+2 = An + An+1
An = An+1
An+1 = An+2
print(An+2)
这波怎么讲:
i == 0 和 i== 1,都好说,无非打印 前一二项的 1,1
i > 1之后呢:
首先计算后一项的值:An+2,根据公式 An+2 = An + An+1,这个其实也好理解,
那An = An+1呢?其实你想,你在进入下次循环时,是不是应该先拿到,下次计算值得前两项 (An),和前一项(An+1)。那刚好在本次循环时的An+1,是不是就刚好是下次计算的值得前两项An呢,本次计算的结果An+2,是不是就刚好是下次计算值的前一项呢,所以这里的:
An = An+1
An+1 = An+2
就很好理解了吧!!!