时间限制: 1Sec 内存限制: 128MB 提交: 28438 解决: 8320
题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
样例输入
2
4
5
0
样例输出
2
4
6
# 小母牛的故事:list求解
def calc_all_cow(year=4):
'''
使用递归,母牛每第四年产一只,初始为1,计算第year年的母牛总数。
f(n) = f(n-3) + f(n-1)
'''
num = 1
if year > 0 & year < 56:
if year == 1:
num = 1
return num
elif 1 < year < 5:
num = year
return num
else:
num = calc_all_cow(year-1) + calc_all_cow(year-3)
return num year = [None]
year[0] = int(input())
if year[0]!=0:
while True:
temp = int(input())
if temp == 0:
break
else:
year.append(temp) for i in year:
num = calc_all_cow(i)
print(num)
本地正确:
上传:报运行错误。