日期:2014-05-20  浏览次数:20648 次

我傻逼了
一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序。

public static void main(String[] args) {
  for(int a1=1;a1<20;a1++){
  for(int a2=1;a2<(100-(a1*5))/3;a2++){
  int a3 = (100-5*a1-3*a2)*3;
  if(a1+a2+a3==100)
  System.out.println("公鸡:"+a1+"只,母鸡:"+a2+"只,小鸡:"+a3+"只");
  }
  }
   
}
(zhoupuyue 所写)
然后我傻逼的写了3个循环 计算的超慢 哎 这个由zhoupuyue写的代码很好的表达了3元方程 还要学习啊 ~~~

------解决方案--------------------
Java code
        for(int a1 = 1; a1 < 20; a1++){
            for(int a2 = (100-(a1*5))/3; a2 >= 0; a2--){
                int a3 = (100 - 5 * a1 - 3 * a2) * 3;
                if(a1 + a2 + a3 == 100)
                    System.out.println("公鸡:"+a1+"只,母鸡:"+a2+"只,小鸡:"+a3+"只");
            }
        }

------解决方案--------------------
zhoupuyue的程序漏了一个解,这样改:
Java code

        for (int a1 = 0; a1 < 20; a1++) {
            for (int a2 = 0; a2 <= (100 - (a1 * 5)) / 3; a2++) {
                int a3 = (100 - 5 * a1 - 3 * a2) * 3;
                if (a1 + a2 + a3 == 100)
                    System.out.println("公鸡:" + a1 + "只,母鸡:" + a2 + "只,小鸡:" + a3
                            + "只");
            }
        }