题目:
“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各几何?”
解题思想:
分析题目可知有俩个定量,分别是百鸡和百钱,这里可设鸡翁、母、雏分别有X,Y,Z只,则会产生俩个等式:
X+Y+Z=100
5*X+3*Y+Z/3*1=100
我们先假设:
100元都买公鸡,则可以买20只;
100元都买母鸡,则可以买33只;
100元都买小鸡,则可以买300只。
所以在将要买的100只鸡中,公鸡不能超过20只,母鸡不能超过33只,小鸡随着公鸡与母鸡的数量进行搭配且保证1元买3只鸡,所以买的小鸡数一定可以被3整除
代码如下:
// 2017_6_25.cpp : 定义控制台应用程序的入口点。
//
/**
*百钱买百鸡问题使用了枚举的思想
*作者:GoodLi&会飞的鱼
*
*/
#include "stdafx.h"
int _tmain(int argc, _TCHAR* argv[])
{
int X,Y,Z;
printf("一共买鸡的个数为:\n");
for(X=0;X<20;X++){
for(Y=0;Y<33;Y++){
Z=100-X-Y;
if(5*X+3*Y+Z/3*1==100&&Z%3==0){
printf("公鸡:%d, 母鸡:%d, 小鸡:%d\n",X,Y,Z);
}
}
}
return 0;
}
运行效果如下: