题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
https://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
# 递归,每过一个月,总数=成年数+1,初始化出生月为1,2。2的即算作成年
innum = int(input())
year1 = [1]
year2 = [0]
adult = [0]
for i in range(1, innum): # 修改这里的范围,第一个月不计,从第二个月开始计算
# 已经成年的兔子要生
year1.append(0 if adult[i-1] == 0 else adult[i-1])
# 一个月大的兔子长大
year2.append(year1[i-1])
# 两个月大的兔子成年
adult.append(adult[i-1] if year2[i-1] == 0 else adult[i-1] + year2[i-1])
# 新长大的兔子还要再生
year1[-1] = adult[-1]
# :debug
# print(year1)
# print(year2)
# print(adult)
# 计算总兔子数量
total_rabbits = year1[-1] + year2[-1] + adult[-1]
print(total_rabbits)