class BaiJi{
   public static void main(String args[]){
     int x,y,z;
     for(x=1,y=1,z=3;z<98;x++,y++,z++){
       if((x+y+z==100)&&(3*x+2*y+z/3==100))
       System.out.println("A:"+x+"B:"+y+"C:"+z+);
       }
   }
}
看到了吗?再来一便

解决方案 »

  1.   

    class BaiJi{
       public static void main(String args[]){
         int x,y,z;
         for(x=1,y=1,z=3;z<98;x++,y++,z++){
           if((x+y+z==100)&&(3*x+2*y+z/3==100))
           System.out.println("A:"+x+"B:"+y+"C:"+z);
           }
           }
           }
    把z后面的 “+” 去掉!
      

  2.   

    ("A:"+x+"B:"+y+"C:"+z+);
    是不是多了个+号?
      

  3.   

    x,y,z是母鸡,公鸡和小鸡的数目,大家帮忙看看吧
      

  4.   

    是不是这个意思?        int x,y,z;
            for(x = 1; x < 100; x++)
            {
               for(y=1; y < 100; y++)
               {
                  for(z=3; z < 98; z++)
                  {
                      if((x+y+z==100)&&(3*x+2*y+z/3==100))
                          System.out.println("A:"+x+"B:"+y+"C:"+z); 
                  }
               }
            }       
      

  5.   

    A: 2    B: 37    C: 61
    A: 4    B: 34    C: 62
    A: 5    B: 32    C: 63
    A: 7    B: 29    C: 64
    A: 9    B: 26    C: 65
    A: 10    B: 24    C: 66
    A: 12    B: 21    C: 67
    A: 14    B: 18    C: 68
    A: 15    B: 16    C: 69
    A: 17    B: 13    C: 70
    A: 19    B: 10    C: 71
    A: 20    B: 8    C: 72
    A: 22    B: 5    C: 73
    A: 24    B: 2    C: 74
      

  6.   

    应该是三重循环!怎么可能在一个循环里得出结果?
    class BaiJi{
       public static void main(String args[]){
         int x,y,z;
         for(x=1;x<=100/3;x++)
           for(y=1;y<=100/2;y++)
             for(z=3;z<98;z+3)
               System.out.println("A:"+x+"B:"+y+"C:"+z);
           
           }
           }
      

  7.   

    修正一下:
    if((x+y+z==100)&&(3*x+2*y+z/3.0==100))
                                 ^^A: 5    B: 32    C: 63
    A: 10    B: 24    C: 66
    A: 15    B: 16    C: 69
    A: 20    B: 8    C: 72
      

  8.   

    修正一下:
    if((x+y+z==100)&&(3*x+2*y+z/3.0==100))
                                 ^^A: 5    B: 32    C: 63
    A: 10    B: 24    C: 66
    A: 15    B: 16    C: 69
    A: 20    B: 8    C: 72
      

  9.   

    谢谢,就是这个意思,是我的for语句出了问题,这下明白了
      

  10.   

    我记得百元买百鸡有一个陷阱:
    就是那个z/3,
    好像是应该6*x+4*y+z=300就对了!为什么这么我给忘了:(
      

  11.   

    this is source.public class BaiJi{
       public static void main(String args[]){
          for(int x=1;x<=100/3;x++)
              for(int y=1;y<=100/2;y++)
                  for(int z=3;z<98;z++)
                      if(x+y+z==100 && 3*x+2*y+z/3==100 && z%3==0)
                          System.out.println("A:"+x+"B:"+y+"C:"+z);
     
           }
           }
      

  12.   

    笔误笔误,应该是
    9*x+6*y+z==300就对了!好像要不是这样:
    小鸡得出的数是不能被3整除的或是别的理由吧!
      

  13.   

    public class BaiJi{
       public static void main(String args[]){
          int num=0;
          int x,y;
          int z=0;
          for( x=1;x<=100/3;x++)
          {
              for( y=1;y<=100/2;y++)
              {
                  for( z=3;z<98;z=z+3)              {
                      num++;
                      if(x+y+z>100 || 3*x+2*y+z/3>100)  //1
                          break;     //2
                      if(x+y+z==100 && 3*x+2*y+z/3==100)
                          System.out.println("A:"+x+"B:"+y+"C:"+z);
                  }
                  if(x+y>99 || 3*x+2*y>99) //1.1
                          break; //2.1            }
            }       System.out.println("total run times:"+num);       }       }如果不加优化(去掉标记1,2,1.1,1.2),程序要运行52800次循环。
    加入1,2,运行17167次循环,效率提高2/3!!
    加入1.1,1.2,运行16334次循环,没有什么明显效果,可有可无。
    呵呵,小程序还曼有意思
      

  14.   

    楼主的程序什么意思啊
    程序中  x=y z=x+2
    x+y+z==100         =>      3x+2=100      这个无解嘛
    百元买百鸡是什么问题 没听说过啊
      

  15.   

    /*100元钱去买鸡
    *  公鸡3元一只,母鸡2元一只,小鸡1元三只,
    *求100元能买到鸡的组合有多少种变化?
    *(
    *72般变化??
    *孙悟空?
    *悟空,不可以吃鸡呦!:D
    *)
    */public class BuyChicken
    {
    public static void main(String args[])
    {
    int totalCount=0;
    for(int x=0;x<=100/3;x++)
    for(int y=0;y<=100/2;y++)
    for(int z=0;z<=100;z++)
    {
    if(3*x+y*2+z==100)
    {
    System.out.println("可买"+x+"只公鸡  "+y+"只母鸡  "+z+"只小鸡\n");
    totalCount+=1;
    }
    }
    System.out.println("总共的组合数量为:"+totalCount);
    }
      

  16.   

    为什么需要用小数呢
    没必要嘛
    关键就是小鸡的数目怎么处理
    z=3t得了 0<z<100
    0<t<99
      

  17.   

    main()
    {
    int x,y,z;
    /*   x为公鸡数 y为母鸡数 z为买小鸡花的钱数 因为买公鸡和母鸡花的钱是整数 所以z取值为0到33间的整数*/
    for(z=0;z<=33;z++)
       for(x=0;x<=100;x++)
          for(y=0;y<=100;y++)
           {
            if(x*3+y*2+z==100&&x+y+3*z==100)
     printf("\n  male : %2d female : %2d baby : %2d",x,y,z*3);
            }
       getch();
    }
    结果:
      male :  0 female : 40 baby : 60
      male :  5 female : 32 baby : 63
      male : 10 female : 24 baby : 66
      male : 15 female : 16 baby : 69
      male : 20 female :  8 baby : 72
      male : 25 female :  0 baby : 75