百钱百鸡c语言for
A. c语言中百钱百鸡的程序
#include<stdio.h>
int main()
{
int a,b,c;//各种鸡的数目
int i=0; //方程解数目
printf("百钱买百鸡,求鸡翁,鸡母,鸡雏的数目:\n");
for(a=0;a<20;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);
}
}
}
}
B. c语言解决百钱买鸡问题
chicks小鸡,cocks公鸡,hens
n是钱,因为1钱可买3小鸡,所以小鸡数对应钱数就是:chicks=3*n
外层遍历:买小鸡的钱,从0遍历到33(33块就99个小鸡了,明显用不了这么多,但作者为了保险吧)
内层遍历:买母鸡的个数,从0遍历到33个(33个母鸡也99块,与上面意图相同,尽量遍历到境界点,虽然有点不科学,但如果问题有解,在条件成立时加个跳出,也不碍事)
内层遍历的时候:cocks=100-hens-chicks; 公鸡=100-母鸡-小鸡,(确保三种鸡加起来是100)
if(5*cocks+3*hens+n==100&&cocks>=0) 意思是:所有的钱加起来是100并且公鸡个数不为负数
printf("%d %d %d\n",cocks,hens,chicks); //打完收工
hens++;//自增
}
n++;//自增
C. C语言编写程序解决百钱白鸡问题
按照题目要求编写的解决百钱买百鸡问题的C语言程序如下
#include<stdio.h>
intmain()
{
inta,b,c;
for(a=0;a<=20;a++)
for(b=0;b<=33;b++)
{
c=100-a-b;
if(c%3==0&&5*a+3*b+c/3==100)
printf("鸡翁%d只,鸡母%d只,鸡雏%d只 ",a,b,c);
}
return0;
}
D. C语言百元百鸡问题
穷尽法是利用计算机计算迅速的"笨"办法得到结果,利用多重循环,只要列出x,y,z的所有可能性设置循环起止值即可
公鸡x取值范围: 0只~100元/2元只
母鸡y取值范围: 0~100/3
小鸡z取值范围: 0~200只(2只2只地买,省得多出0.5元钱不好算整数100元)
#include<stdio.h>
void main() { int x,y,z;
for ( x=0;x<=100/2;x++ )
for ( y=0;y<=100/3;y++ )
for ( z=0;z<=200;z+=2 )
if ( x+y+z==100 ) if ( x*2+y*3+z/2==100 ) printf("%d %d %d\n",x,y,z);
}