所谓斐波那契数列指的是数列:1,1,2,3,5,8,13,21,……。用语言描述就是后一项等于前两项和。
打印100以类的斐波那契数列
a = 1
b = 1
print(a)
print(b)
while True:
c = a + b
if c > 100:
break
a = b
b = c
print(c)
要点:
起始两项特殊处理
计算c后,a的值指向b,b的值指向c,交换后再循环
求斐波那契数列的101项
假设是从第0项开始,到第100项结束,共101项,那第0项和第1项都为1
a = 1
b = 1
c = 0 # 给变量c一个初始值,最后要打印第101项
for i in range(101):
if i > 1: # 0和1时不用计算
c = a + b
a = b
b = c
print(c)
# 573147844013817084101
使用递归实现斐波那契数列
在python中应该尽量避免使用递归,递归有层数限制,各个python版本限制各异。
def fib(n):
if n < 2:
return 1
e