阿拉丁


私信TA

用户名:uq_28080155906

访问量:1170

签 名:

等  级
排  名 10135
经  验 1053
参赛次数 6
文章发表 2
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:


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 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区