Description
有一对夫妇买了一头母牛,它从第2年起每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0< n< 55),n的含义如题目中描述。 n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出在第n年的时候母牛的数量。 每个输出占一行。
Sample Input
2 4 5 0Sample Output
#include <iostream> using namespace std ; int main () { int a ,b ,c [ 100 ],d ,i ,j ; while ( cin >>a &&a != 0 ) { d = 0 ; c [ 1 ]= 0 ; b = 1 ; for (i = 2 ;i <=a ;i ++) { if (i <= 4 ) b = 1 ; else { b =b +c [i -3 ]; c [i -3 ]= 0 ; } c [i ]=b ; } for (i = 1 ;i <=a ;i ++) { d =d +c [i ]; } cout <<b +d <<endl ; } } 定义一个数组c统计每年出生的小羊的数量,b代表大羊的数量,每过三年小羊便长成大羊,c【i】便等于0,最后求出所有小羊个数与大羊个数求和,即为总共个数。