100元买一百只鸡,公鸡5元一个,母鸡3块一个,小鸡1块三个。
代码实现
#include<stdio.h>
int main()
{
int x,y,z,j=0;
printf("Following are possible plans to buy 100 fowls with 100 Yuan./n");
//代码实现的就是这个表达式5*X +3*Y + Z/3 =100
for(x=0;x<=20;x++) /*外层循环控制鸡翁数*/
for(y=0;y<=((100 - 5*x)/3);y++) /*内层循环控制鸡母数y在0~(100 - 5*x)/3变化,此处
好多程序写成y<=33,个人认为不因该这样写,效率有问题*/
{
z=100-x-y; /*内外层循环控制下,鸡雏数z的值受x,y的值的制约*/
if(z%3==0&&5*x+3*y+z/3==100)
/*验证取z值的合理性及得到一组解的合理性*/
printf("%2d:cock=%2d hen=%2d chicken=%2d/n",++j,x,y,z);
}
}