递归函数输出斐波那契数列-黄金分割数列-兔子数列(python)
斐波那契数列介绍
数学家莱昂纳 多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=0,F(1)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 2,n ∈ N*)在现代物理、准晶体结构、化学等领域,斐波 纳契数列都有直接的应用。 斐波那契在《计算之书》中提出了一个有趣的兔子问题:若一对成年兔子每个 月恰好生下一对小兔子(一雌一雄)。在年初时,只有一对小兔子。
在第一个月结束 时,他们成长为成年兔子,并且第二个月结束时,这对成年兔子将生下一对小兔子。 这种成长与繁殖的过程会一直持续下去,并假设生下的小兔子都不会死,那么一年 之后共可有多少对小兔子? 繁殖的过程可以通过一棵“家族树”来表示:
实现代码(python):
""" 使用递归解决 斐波那契数列 """
def fibonacci(n):
if n == 1 or n == 2:
return 1
else:
return fibonacci(n - 1) + fibonacci(n - 2)
num = int(input('请输入一个正整数: '))
for i in range(1, num + 1):
print(fibonacci(i), end=' ')
运行结果: