重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
在成都网站建设、做网站中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联公司专业成都网站建设10余年了,客户满意度97.8%,欢迎成都创新互联客户联系。
void main(){
int cockNum; //定义公鸡的数量,也就是鸡翁的数量
int henNum; //定义母鸡的数量,也就是鸡母的数量
int chickenNum; //定义小鸡的数量,也就是雏鸡的数量
int count = 0; //定义输出结果的编号
//公鸡100文钱能买100 / 5 = 20只
for (cockNum = 0; cockNum = 20; cockNum++) {
//母鸡100文钱 能买100 / 3 = 33只,还多1文
for (henNum = 0; henNum = 33; henNum++) {
//三种鸡的只数总和是100只,故只要确定公鸡和母鸡的只数,就能确定小鸡的只数
chickenNum = 100 - cockNum - henNum;
//三种鸡的总价格是100文,故以此为条件分别输出所有鸡的只数
if (5 * cockNum + 3 * henNum + chickenNum / 3.0 == 100) {
count++; //输出结果的编号自增
printf("%d.公鸡的数量是:%d只,母鸡的数量是:%d只,小鸡的数量是:%d只。\n",count,cockNum,henNum,chickenNum);
}
}
}
}
#includestdio.h
void main()
{
int a,b,c;
for(a=0;a20;a++) //公鸡可能的只数
for(b=0;b(100-5*a)/3;b++) //母鸡可能的只数
{ c=100-a-b; //总数为100时,小鸡的只数
if(c%3==0 a*5+b*3+c/3==100) //若小鸡只数是3的倍数,且总价为100
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
getch();
return 0;
}
用C语言解决百鸡问题的步骤如下:
1丶打开网页C语言编译环境,或者自己的安装的编译环境。
2丶设一百只鸡中公鸡、母鸡、小鸡分别为x,y,z;用遍历所有可能的方法找出符合条件的解,输入如下图代码。
3丶查看运行结果并分析:有三种可能性。
这样就解决了用C语言解决百鸡问题。
#includestdio.h
int main()
{
int a,b,c;//各种鸡的数目
int i=0; //方程解数目
printf("百钱买百鸡,求鸡翁,鸡母,鸡雏的数目:\n");
for(a=0;a20;a++) //外层循环控制公鸡
{
for(b=0;b=33;b++) //内层循环控制公鸡
{
c=100-a-b; //小鸡的只数
if(c%3==0 a*5+b*3+c/3==100)
{
//验证取c值的合理性及得到一组解的合理性
printf("%2d:鸡翁数:%2d,鸡母数:%2d,鸡雏数:%2d\n",++i,a,b,c);
}
}
}
}
我国古代数学家张丘建在《算经》一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,则翁、母、雏各几何?
翻译过来,意思是公鸡一个五块钱,母鸡一个三块钱,小鸡三个一块钱,现在要用一百块钱买一百只鸡,问公鸡、母鸡、小鸡各多少只?
题目分析
如果用数学的方法解决百钱买百鸡问题,可将该问题抽象成方程式组。设公鸡x只,母鸡y只,小鸡z只,得到以下方程式组:
A:5x+3y+1/3z = 100
B:x+y+z = 100
C:0 = x = 100
D:0 = y = 100
E:0 = z = 100
如果用解方程的方式解这道题需要进行多次猜解,计算机的一个优势就是计算速度特别暴力并且无怨无悔,所以我们可以欺负她、蹂躏她!因此我们用穷举法的方式来解题,需要101^3次猜解,但对于计算机来说,小CASE!
代码清单:
#include stdio.hint main()
{ int i, j, k;
printf("百元买百鸡的问题所有可能的解如下:\n");
for( i=0; i = 100; i++ )
for( j=0; j = 100; j++ )
for( k=0; k = 100; k++ )
{
if( 5*i+3*j+k/3==100 k%3==0 i+j+k==100 )
{
printf("公鸡 %2d 只,母鸡 %2d 只,小鸡 %2d 只\n", i, j, k);
}
}
return 0;
}
运行结果:百元买百鸡的问题所有可能的解如下:
公鸡 0 只,母鸡 25 只,小鸡 75 只
公鸡 4 只,母鸡 18 只,小鸡 78 只
公鸡 8 只,母鸡 11 只,小鸡 81 只
公鸡 12 只,母鸡 4 只,小鸡 84 只