斐波拉契数列又称“兔子数列”
经典问题:
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。
假设兔子不会死亡,而且每次出生的兔子都是一雌一雄,其他问题不考虑。
一开始有一对兔子,那么第一、第二个月都是一对兔子;
第三个月生下一对兔子,为两对兔子;
第四个月再次生下一对兔子,为三对兔子;
第五个月除了再次生下一对兔子外,第三个月出生的兔子也会生下一对兔子,为五队兔子;
依次类推……那么每个月兔子数:1,1,2, 3, 5,8,……
现在,输入一个数n,输出前n个月兔子数。
def func1(n): if n <= 2: return 1 else: return func1(n-1) + func1(n-2) def func2(n): arr = [] for i in range(1, n+1): arr.append(func1(i)) return arr
函数func1,为递归函数,根据输入n,得到第n个月的兔子数
函数func2,为目标函数,遍历1~n,调用函数func1,将得到的结果拼接,得到每个月的兔子对 数