当前位置:网站首页>题目 1004: 母牛的故事(递推)

题目 1004: 母牛的故事(递推)

2022-07-01 12:35:00 51CTO


文章目录

Question

      
      
题目描述
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

输入
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n( 0 < n < 55) ,n的含义如题目中描述。
n = 0 表示输入数据的结束,不做处理。

输出
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。

样例输入
2
4
5
0
样例输出
2
4
6
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

Ideas

第n年的牛数 = 第n-1年的牛数 + 第n-3年前的数目(小牛四年后可以生)

Code

      
      
# 递推
list = [] #定义列表
list. append( 0) # 往list添加初始数据
list. append( 1) # 第一年奶牛数量为1
list. append( 2) # 第一年奶牛数量为2
list. append( 3) # 第一年奶牛数量为3
for i in range( 4, 1000): #预处理前1000年的奶牛数量
list. append( list[ i - 1] + list[ i - 3])
while True:
n = int( input()) #化为整型
if n == 0: #n ==0 时退出
break
print( list[ n]) #已经预处理了,所有直接输出就可以了
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.


原网站

版权声明
本文为[51CTO]所创,转载请带上原文链接,感谢
https://blog.51cto.com/u_14608932/5434364