首页 > 代码库 > 百鸡百钱问题
百鸡百钱问题
母鸡每只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;
}
百鸡百钱问题