现有一头母牛,其2岁、4岁会生一头小牛。其他生下来的小牛也是如此。那么n年之后,有多少头牛?
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int a[7];
int main(void)
{
int n, i;
while (scanf("%d", &n) != EOF && n){
if (1 == n) {printf("1\n"); continue;}
memset(a, 0, sizeof(a)); a[1] = 1;
for (i = 1; i < n; ++i){
a[0] = a[1] + a[3]; //1岁与3岁的牛至下一年就会生小牛。那么新生的小牛等于a[1] + a[3];
a[4] = a[3]; //3岁的牛变成4岁
a[3] = a[2]; //2岁的牛变成3岁
a[2] = a[1];
a[1] = a[0];
}
printf("%d\n", a[1] + a[2] + a[3] + a[4]);
}
return 0;
}