题解 | 统计每个月兔子的总数
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395?tpId=37&tqId=21260&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D2%26tpId%3D37%26type%3D37&difficulty=undefined&judgeStatus=undefined&tags=&title=
#keypoint:n个月的兔子数量是原有数量(n-1个月的数量)和新生数量(间隔两月的月份的老兔子数量) def f(n:int): if n==0 or n==1 or n==2 : return 1 elif n==3: return 2 elif n==4: return 3 else: return f(n-1)+f(n-2) s=int(input()) num=f(s) print(num)
这个题本身是典型的递归,关键是理解第三个月,即1月出生,3月即能生育
生育的等待时间是两个月
即n个月的兔子数量是原有数量(n-1个月的数量)和新生数量(间隔两月的月份的老兔子数量)