斐波那契数列
斐波那契数列(Fibonacci sequence)的定义:斐波那契数列指的是这样一个数列 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项开始,每一项都等于前两项之和。
在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)。
方法一:递归函数
def feibo(n):
if n == 1:
return 0
if n == 2:
return 1
return feibo(n-1) + feibo(n-2)
for i in range(10):
print(feibo(i+1))
方法二:非递归版
a = 1
b = 1
c = 0
i = 0
while i < 9:
print(a, end="\t")
c = a + b
a = b
b = c
i += 1
结果:
0
1
1
2
3
5
8
13
21
34