斐波拉契数列

斐波拉契数列又称“兔子数列”

经典问题:

  一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。

  假设兔子不会死亡,而且每次出生的兔子都是一雌一雄,其他问题不考虑。

  一开始有一对兔子,那么第一、第二个月都是一对兔子;

  第三个月生下一对兔子,为两对兔子;

  第四个月再次生下一对兔子,为三对兔子;

  第五个月除了再次生下一对兔子外,第三个月出生的兔子也会生下一对兔子,为五队兔子;

  依次类推……那么每个月兔子数: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,将得到的结果拼接,得到每个月的兔子对 数

posted on 2020-08-11 11:54  懒得显示  阅读(163)  评论(0编辑  收藏  举报