有一对兔子,从出生后第3个月起每个月都生一对兔子, 小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?python实现

思考问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,
小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
(类似于斐波那契数列求和)
拿到这题 鄙人列了个小公式
月份 兔子对数
1 1
2 1
3 2
4 3
5 5
说实话,刚拿到的时候我算的是只数,结果发现好像有点复杂,
万能的百度找出来是斐波那契数列
上码
def fib(N):
    n, f1, f2 = 1, 0, 1
    while n < N:  # 第三个月开始赋值操作
        f1, f2 = f2, f1 + f2
        n = n + 1
    print('第%d月兔子的数量为:%d对,共%d只' % (N, f2, f2 * 2))


fib(int(input("输入月份:")))

 

猜你喜欢

转载自www.cnblogs.com/Rocknuo/p/12960820.html
今日推荐