解题思路:
1 2 3 4 6(4+2) 9(6+3) 13(9+4)
这题类似斐波那契数列,第i年母牛的数量等于第i-1+i-3年母牛的数量
我们只要先把所需的部分序列求出来,再依次打印即可
注意事项:
要求出第i年的母牛数量就必须求出第i年之前所有的年份的母牛数量
为避免重复计算,可以先用列表记录下要打印的年份,找出最大的年份
再用列表记录下最大年份之前所有年份的母牛数量,
最后再开始打印
参考代码:
a=[]
max=0
while True:
r=int(input())
if r>max:
max=r
if r==0:
break
a.append(r)
b=[0,1,2,3]
for i in range(4,max+1):
t=b[i-1]+b[i-3]
b.append(t)
for i in a:
print(b[i])
0.0分
4 人评分