题目描述:
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第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]
规律出来了,那么代码就很好实现了。