我的思路是把处于第一年(sum1),第二年(sum2),第三年(sum3),以及三年以上(sum4)的母牛(sum4也代表着 下一年 可以生育小母牛的数量 即sum1)分别用记录,然后进行循环,每次循环都会将sum1的值赋给sum2,sum2的值赋给sum3,sum3和sum4的和再赋给sum4。循环结束后再输出sum1,sum2,sum3,sum4的和就可以了;
#include <stdio.h>
int main()
{
int n;
while(scanf("%d",&n) != EOF && n > 0 && n < 55){
int sum1 = 0,sum2 = 0,sum3 = 0,sum4 = 1;
for(int i = 1; i < n ;i++){
sum4 += sum3;
sum3 = sum2;
sum2 = sum1;
sum1 = sum4;
}
printf("%d\n",sum1 + sum2 + sum3 + sum4);
}
return 0;
}