题解 | #统计每个月兔子的总数#
统计每个月兔子的总数
http://www.nowcoder.com/practice/1221ec77125d4370833fd3ad5ba72395
import sys
def run(a, b, m, c):
# a: 成年兔子数量,b:未成年兔子队列按年龄由大到小,m:倒计时时间(月数),c:成熟需要的时间
if b == []:
b = [0 for _ in range(c-1)] + [1]
if m <= 1:
return a + sum(b)
a = a + b[0] # 一批兔子成熟
b = b[1:] + [a] # 成熟兔子生育
return run(a, b, m-1, c)
for line in sys.stdin:
_a = line.strip()
print(run(0, [], int(_a), 2))