百钱买百鸡的问题?
公鸡五元一只,母鸡6元一只,小鸡一元两只.
main()
{
int cock,hen,chicken;
for(cock=0;cock<=100/5;cock++)
for(hen=0;hen<=100/6;hen++)
{chicken=100-cock-hen;
if((chicken%2==0)&&(5*cock+6*hen+chicken/2)==100)
printf("\ncock=%d hen=%d chicken=%d",cock,hen,chicken);
}
}
只有一个结果是:cock=5 hen=5 chicken=90
我感觉好象不太对,应该有多个结果吧,请指点一下,哪里有问题.谢谢了.
问题点数:10、回复次数:4Top
1 楼du51(郁郁思扬)回复于 2005-05-10 21:27:15 得分 5
公元钱五世纪,我国古代数学家张丘建在《算经》一书中提出了“百鸡问题”:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?
main( )
{
int cocks,hens,chicks;
cocks=0;
while(cocks<=19)
{
hens=0;
while(hens<=33)
{
chicks=100-cocks-hens;
if(5*cocks+3*hens+chicks/3==100&&chicks%3==0)
printf("%d,%d,%d\n",cocks,hens,chicks);
hens=hens+1;
}
cocks=cocks+1;
}
}
Top
2 楼hblinlin(木木)回复于 2005-05-10 21:41:28 得分 2
楼上的正解~~~Top
3 楼tflb(艺无止境)回复于 2005-05-10 21:53:11 得分 0
我用楼上的方法试了一下."公鸡五元一只,母鸡6元一只,小鸡一元两只"把数改了一下.
结果和我编写的一样,
只有一个结果是:cock=5 hen=5 chicken=90
是不是我的程序也是对的呀.!!Top
4 楼zhangfjj(小张)回复于 2005-05-10 22:26:12 得分 3
穷举法解不定方程,这是应用循环最典型的例子
5cock+6hen+chicken/2=100
cock+hen+chicken=100
楼主的解法没有什么问题Top




