本题大体意思是小明有100块想要买一百只鸡,公鸡五元一只,母鸡3元一只,小鸡一元三只。
三重循环和二重循环的比较好想,下面提供一重循环的思路
根据已知可以设:母鸡X,公鸡Y,小鸡Z。
可以得到公式:
3X+5Y+3/Z=100 (1)
X+Y+Z=100 (2)
联立消去Z得:8X+14Y=200
移项的Y<=14得到Y的范围(此举是进一步减少for的循环次数)
int x,y,z;
for(x=0;y<=14;x++){
x=(200-14*y) /5;
z=100-y-x;
if(z%3==0&&z>=3&&y>=1&&x>=1)
cout<<x<<","<<y<<","<<z<<endl;}