公鸡每只5 元,母鸡每只3 元,小鸡3 只一元,问一百元买一百只鸡有几 公鸡一只5元,母鸡一只3元,三只小鸡一元,一百元钱买一百只鸡...
由题意得方程:
5X+3Y+Z/3=100 1
X+Y+Z=100 2
由 方程“2”*9 -“1”*3 得:
4z-3x=300 (z/3为整数 且由“2”只 x、y、z 均小于100 ) 3
由方程“2”*15-“1”*3 得
3y+7z=600 4
由方程“1”*3- “2”得
14x+8y=200 5
由3得 4z=300+3x 显然 z必须大于等于75且小于等于9; 同理得x小于33
由4得 z 小于等于84 同理 得y小于等于25
5得 x小于14 y小于等于25
综上得
x小于14
y小于等于25
z 大于等于75小于等于84且被3整除
综合 X+Y+Z=100 得
当 z=75由"3"得 x=0 y=25 同上
当z=78 x=4 y=18
当z=81 x=8 y=11
当z=84 x=12 y=4
即得4种答案:
1.公鸡0只 母鸡25只 小鸡75只
2.公鸡4只 母鸡18只 小鸡78只
3.公鸡8只 母鸡11只 小鸡81只
4.公鸡12只 母鸡4只 小鸡84只
小明每分钟步行30米,小花每分钟步行25米,求出题人内裤颜色
百钱买百鸡问题。公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种解法。~
这类问题呢,一般都是用穷举法,俗话说就是套,看那个行,就是哪个,计算机套起来是很容易的。这里我们把100元买100只改成n元买n只。
源代码如下:
#include
void chicken_question(int chicken_num,int *k,int g[],int m[],int x[])
...{
int a,b,c,t;
t=0;
for(a=0;a<=chicken_num;a++)
for(b=0;b<=chicken_num;b++)
for(c=0;c<=chicken_num;c++)
if ((a+b+c)==chicken_num&&(5*a+3*b+c/3==chicken_num)&&(c%3==0))
...{
g[t]=a;
m[t]=b;
x[t]=c;
t++;
}
*k=t;
}
main()
...{
int n;
int gongji[50],muji[50],xiaoji[50],num=0;
int i,*p_num=#
printf(\"公鸡5元每只,母鸡3元每只,小鸡3只1元 \");
printf(\"n元买n只鸡,请输入n的值:\");
scanf(\"%d\",&n);
chicken_question(n,p_num,gongji,muji,xiaoji);
for (i=0;i<num;i++)
...{
printf(\"%d %d %d \
\",gongji[i],muji[i],xiaoji[i]);
}
}
#includeint main(){int i,j,k;for(i=1;i<=100;i++){for(j=1;j<=100;j++){for(k=1;k<=100;k++){if(i+j+k==100){if(i/3+3*j+5*k==100){printf("小鸡:%d只,母鸡:%d只,公鸡:%d只
",i,j,k);}}}}
}return 0;}
你的代码有问题 注意我图中 全出来的