题目:
1,问题描述:
公鸡每只5元,母鸡每只3元,三只小鸡1元,用100元买100只鸡,问公鸡、母鸡、小鸡各多少只?
2,算法分析:
利用枚举法解决该问题,以三种鸡的个数为枚举对象,分别设为mj,gj和xj,用三种鸡的总数
(mj+gj+xj=100)和买鸡钱的总数(1/3*xj+mj*3+gj*5=100)作为判定条件,穷举各种鸡的个数。
代码:
#include <cstdio>
int main()
{
int x,y,z;
for(x=0;x<=20;x++) //公鸡
for(y=0;y<=33;y++){ //母鸡
z = 100-x-y; //小鸡
if(z%3==0&&5*x+3*y+z/3==100) //这里是筛选,是三的倍数,同时费用为100
printf("公鸡:%d,母鸡:%d,小鸡:%d\n",x,y,z);
}
return 0;
}
注意点:
1.三只小鸡一元,所有小鸡数应当是3的倍数
2.使用枚举时根据对应鸡的费用枚举出对应的最大值