分析题目
首先可以知道的是,第 1,2 月都不会生兔子,从第三个月开始生。
月份 | 总数 |
---|---|
1 月 | 1 个 |
2 月 | 1 个 |
3 月 | 2 个 |
4 月 | 3 个 |
5 月 | 5 个 |
规律:
发现从第三个月起,每个月的总数都等于前两个月之和。
也就是可以固定 1 月和 2 月的总数,根据 1 月和 2 的总数之和计算其他月份的总数,将每个月的总数存放在列表中。
最终需要输出的就是月份对应的下标值。
python 解法:
def rabbit(month):
month_list = [1, 1]
if month >= 3:
for i in range(2, month):
result = month_list[i - 1] + month_list[i - 2]
month_list.append(result)
return month_list[month - 1]