时间限制: 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)
本地正确:
上传:报运行错误。