2 publicz string name publicz_String_Name 于 2017.09.06 18:08 提问

我算法不过关,用代码求算法。

公鸡4元1只,母鸡2元一只,小鸡1元3只,共100元买100只鸡,求公鸡,母鸡,小鸡分别是多少。

7个回答

caozhy
caozhy   Ds   Rxr 2017.09.06 20:48

for (int g = 0; g <= 100; g++)
{
for (int m = 0; m <= 100 - g; m++)
{
x = 100 - g - m;
if (g * 4 * 3 + m * 2 * 3 + x == 300) printf("%d %d %d", g, m, x); // g m x分别是公母小
}
}

caozhy
caozhy 回复public_String_Name: 那你加一个定义int x = 100 - g - m
3 个月之前 回复
publicz_String_Name
publicz_String_Name c语言都差不多忘记了。。。x没定义类型。。。
3 个月之前 回复
shaohe18362202126
shaohe18362202126   2017.09.07 08:20

设未知数,然后根据题意列等式,最后求未知数。

publicz_String_Name
publicz_String_Name 你这不是废话吗,都算算法差,不会列等式啊
3 个月之前 回复
loowooowool
loowooowool   2017.09.07 11:38

public static void main(String args[]){
int a = 1;
int b = 1;
double c = 3;
for(a=1;a<=25;a++){
for(b=1;b<=50;b++){
for(c=3;c<=300;c=c+3){
if((a*4 + b* 2 + c/3)==100){
System.out.println("公鸡:" + a + " 母鸡: " + b + " 小鸡:" + c);
}
}
}
}

}
loowooowool
loowooowool   2017.09.07 11:40

上面错了,这个可以
public static void main(String args[]){
int a = 1;
int b = 1;
double c = 3;
for(a=1;a<=25;a++){
for(b=1;b<=50;b++){
for(c=3;c<=300;c=c+3){
if((a*4 + b* 2 + c/3)==100 && (a+b+c==100)){
System.out.println("公鸡:" + a + " 母鸡: " + b + " 小鸡:" + c);
}
}
}
}

}
publicz_String_Name
publicz_String_Name 嗯。还可以,1楼的比较全,你的还少了一种情况:公鸡:0 母鸡:40 小鸡60
3 个月之前 回复
huang931027
huang931027   2017.09.11 08:48

之前没怎么仔细看,刚刚改一下你看看吧。这个问题百度上面回答多的很啊。。。一搜就是答案

  public static void main(String[] args) {
            int count=0;
            for(int i=0;i<=100/4;i++){
                for(int j=0;j<=100/2;j++){
                    for(int k=0;k<=300;k++){
                            if(4*i + j*2 + k/3 == 100 && k%3==0 && i+j+k==100){
                                count++;
                                System.out.println(count + ":公鸡:" + i + ";母鸡:" + j + ";小鸡:" + k);
                        }
                    }                  
                }
            }
            System.out.println("总共有 " + count + " 种情况");
        }
huang931027
huang931027   2017.09.07 09:00
  public static void main(String[] args) {
            int count=0;
            for(int i=0;i<=100/4;i++){
                for(int j=0;j<=100/2;j++){
                    if((100-i-j)%3==0){
                        if(4*i + j*2 + (100-i-j)*(1/3) == 100){
                            count++;
                            System.out.println(count + ":公鸡:" + i + ";母鸡:" + j + ";小鸡:" + (100-i-j));
                        }
                    }                  
                }
            }
            System.out.println("总共有 " + count + " 种情况");
        }
publicz_String_Name
publicz_String_Name 我先看看
3 个月之前 回复
huang931027
huang931027   2017.09.07 09:02

图片说明

publicz_String_Name
publicz_String_Name 亲,你这种不稳啊,你看看第9种,25只公鸡已经用完100元啦
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片