C语言百元百鸡问题
4个回答
展开全部
穷尽法是利用计算机计算迅速的"笨"办法得到结果,利用多重循环,只要列出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);
}
公鸡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);
}
展开全部
1.a,b的初始值不能定义为0,应该定义为1。
2.a,b,b的具体意思应该明确:a:公鸡的个数;b:母鸡的个数;c:小鸡的个数。
3.一定要注意小鸡是一元三只,所以小鸡的个数c只能是3的整数倍,即c+=3。
4.#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<20;a++)
{
for(b=1;b<33;b++)
{
for(c=3;c<100;c+=3)
{
if((a+b+c==100)&&(a*5+b*3+c/3==100))
printf("a=%d,b=%d,c=%d",a,b,c);
}
}
}
}
希望可以帮到你哦!
2.a,b,b的具体意思应该明确:a:公鸡的个数;b:母鸡的个数;c:小鸡的个数。
3.一定要注意小鸡是一元三只,所以小鸡的个数c只能是3的整数倍,即c+=3。
4.#include<stdio.h>
void main()
{
int a,b,c;
for(a=1;a<20;a++)
{
for(b=1;b<33;b++)
{
for(c=3;c<100;c+=3)
{
if((a+b+c==100)&&(a*5+b*3+c/3==100))
printf("a=%d,b=%d,c=%d",a,b,c);
}
}
}
}
希望可以帮到你哦!
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
void main(){
double x=1,y=1,z;
int count=0;
for (z=2;z<=200;z+=2) {
y=1.5*z-100;
x=200-2.5*z;
if(x>0&y>0&&z>0){
printf("公鸡%d只,母鸡%d只,小鸡%d只!\n",count,(int)x,(int)y,(int)z);
}
if (x+y+z==100&&x>0&y>0&&z>0) {
count++;
printf("%d.公鸡%d只,母鸡%d只,小鸡%d只!\n",count,(int)x,(int)y,(int)z);
}
}
}
void main(){
double x=1,y=1,z;
int count=0;
for (z=2;z<=200;z+=2) {
y=1.5*z-100;
x=200-2.5*z;
if(x>0&y>0&&z>0){
printf("公鸡%d只,母鸡%d只,小鸡%d只!\n",count,(int)x,(int)y,(int)z);
}
if (x+y+z==100&&x>0&y>0&&z>0) {
count++;
printf("%d.公鸡%d只,母鸡%d只,小鸡%d只!\n",count,(int)x,(int)y,(int)z);
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询