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

京公网安备 11010502036488号