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