题目:
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.使用枚举时根据对应鸡的费用枚举出对应的最大值