百鸡百钱问题

    母鸡每只5元,公鸡每只3元,小鸡1元3只。    现用100元买100只鸡,求出所有可能的解。

 

算法分析:
     设母鸡、公鸡、小鸡分别为x、y、z只,

    1.    需满足2个条件: x+y+z=100和

                                5x+3y+z/3=100


     2.  对于此类实际问题,考虑x,y,z的取值范围:
0<= x <=100, 

0<= y <=100, 

0<= z <=100     

 

 

#include <iostream>
using namespace std;
int main( )
{   int x,y,z;
     for (x=0; x<=100;x++)
  for (y=0; y<=100; y++)
       for (z=0; z<=100; z++)
          if ( x+y+z==100 && 5*x+3*y+z/3==100 )
         cout<<x<<' '<<y<<' '<<z<<endl;
 system("pause"); return 1;
}

 

 

*********************************************************************

 

 

 

#include <iostream>
using namespace std;
int main( )
{    int x,y,z;
     for (x = 0; x <= 14; x++)
     {     y = 100 -7 * x;
           if (y % 4) continue; else y /= 4;
           z = 100 -x -y;
           if (z % 3) continue;
           cout<<x<<' '<<y<<' '<<z<<endl;
      }
      system("pause");   return 1;
}

 

posted @ 2014-07-26 20:31  博园少主  阅读(323)  评论(0编辑  收藏  举报