题解 | #统计每个月兔子的总数# (递归)
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
#兔子的月数是n
#当n>2时,每个月生一个小兔子
#一月的时候只有一只兔子
#问第n月的时候有几只兔子
#思考:
#想知道第n月的时候有几只兔子,只需要知道第n-1月时有几只年龄在2月以上的兔子
#也就是只需要知道n-2月时有几只兔子,n-2月的兔子就是n月时新出生的兔子
#所以第n月的兔子 = n-1 月的兔子数量 加上 n-2月的兔子数量
def rabit(n): #这里是边思考边写的,可以进一步简化为n==1/n==2/n>=3三种情况
if n == 1:
return 1
if n == 2:
return 1
if n == 3:
return rabit(n-2) + 1
if n == 4:
return rabit(n-2) + rabit(n-1)
if n >=5 :
return rabit(n-2) + rabit(n-1)
inputnum = int(input())
print(rabit(inputnum))


