斐波那契数列:当 n>1时,该数列第n项等于其前面两项之和,所以,斐波那契数列可以写成如下的递归形式
以递归的方法实现斐波那契数列的递推
方法一:使用控制语句编写斐波那契数列
def item( num ):
if num == 0 :
fi = 1
elif num == 1:
fi = 1
else:
fi = item ( num - 1) + item (num -2)
return fi
def Fib( n ):
i = 0
while i < n:
print (item(i),end=',')
i += 1
Fib( 10 )
以上递归方法的递归次数太多时,效率低下,所以通常可以采用递推算法,通过列表来实现。
def Fib(num):
"""递推算法"""
fib = [1] #用列表保存中间结果,初始值为1
for i in range(num):
if i < 2:fib.append(i + 1)
else:fib.append(sum(fib[-2:]))
return fib
print(Fib(10))