Python练习题-011

题目-011:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

  • 分析这里不妨设置A、B、C分别为成年兔子,刚出生兔子,出生已经一月兔子,分析如下:
            月份 A B C Total
            1   1 0 0 1
            2    1 0 0 1
            3    1 1 0 2
            4    1 1 1 3
            5    1 1 1 3
            6    2 2 1 5
            7    3 3 2 8
            8         5 5 3 13
            9     8 8 5 21
            10    13 13 8 34
            11    21 21 13 55
            综上所述:兔子的规律为数列1,1,2,3,5,8,13,21....
  • Python版本:Python 3.6.5

   代码1:递归计算:

#! usr/bin/python
#! -*- coding: utf-8 -*-

def rabbit( m = 10 ):
    month = [1,1]
    for i in range(2,m):
        month.append((month[i-1]+month[i-2]))
    print(month)

rabbit()
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]


你可能感兴趣的:(python)