#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个月的数量)和新生数量(间隔两月的月份的老兔子数量)