C语言网-蓝桥杯-1004-母牛的故事

题目描述:

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

输入:

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

输出:

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

解题思路:

这道题我自己一开始看觉得很难,现在刷了一定的程序题之后再回过头来看,并不是想象的那么难。其实就是发现规律的过程,如果你能一项项的把对应的母牛数量列出来的话,你很快就能发现规律,一般列出10项就能看出来了。如下:

0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 6 9 13 19 28 41

第一行是年数,即n
第二行是对应年数牛的数量,即arr[n]

不难看出从四项开始牛的数量等于前一年与前三年的数量之和,即arr[n] = arr[n-1] + arr[n-3] 

规律出来了,那么代码就很好实现了。

Java实现代码:

运行结果:

猜你喜欢

转载自www.cnblogs.com/blog-of-guoqi/p/11526848.html