题解 | #统计每个月兔子的总数# (递归)
统计每个月兔子的总数
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))