【求助】牛的繁殖问题!
原题目如下:若一头刚出生的小母牛从第四个年头开始,每年初生一头小母牛,且没有牛死亡,按此规律,第20年时共有多少头母牛?
我写的代码如下:
程序代码:#include<stdio.h>
int main(void)
{
int i,a=1,b=0,c=0,d=1;
printf("a\tb\tc\td\n");
for(i=1;i<=20;i++)
{
printf("%d\t%d\t%d\t%d\n",a,b,c,d);
a=b;
b=c;
c=d;
d=a;
d=a+c;
}
printf("第20年的牛的总数为%d只!\n",d);
return 0;
}
i是年份,a、b、c、d分别是每年生下来的母牛数,程序最后输出的结果是1278,但是如果把printf()函数改为printf("第20年的牛的总数为%d只!\n",c);的话,输出的结果就是正确答案872,我自己总结出的公式是第四年所生母牛数等于第一年和第三年的所生母牛数的和。我也有在网上找到过答案,但我想自己写,可是不知道是逻辑错误还是其他错误,请各位前辈斧正!谢谢!
补充一下:第二个printf()函数的作用是列出计算机执行的过程!
[ 本帖最后由 mandown1991 于 2011-3-18 14:01 编辑 ]









