原题链接:[递归]母牛的故事
解题思路:
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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复