题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
示例
输入格式
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
输出格式
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
样例输入
2
4
5
0
样例输出
2
4
6
解析
第一年:A ----------------------------------------------------1
第二年:A 、a(1岁) ----------------------------------------2
第三年:A、a(2)、b(1) -----------------------------------3
第四年:A、a(3)、b(2)、c(1)、-------------------------4
第五年:A、a(4)、b(3)、c(2)、d(1)
a1(1)-------------------------------------------6
第六年:A、a(5)、b(4)、c(3)、d(2)、e(1)
a1(2)、a2(1)
b1(1) -----------------------------------------9
解析:规律得出:从第四年开始,该年为(该年-1)与(该年-3)的和
代码
def fun(year):
l=[1,2,3]
if year==1:
print(1)
elif year==2:
print(2)
elif year==3:
print(3)
else:
for i in range(3,year):
l.append(l[i-1]+l[i-3])
print(l[year-1])
while True:
year=int(input())
if year==0:
break
fun(year)