题目1045:百鸡问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:12071
解决:5337
-
题目描述:
-
用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。
-
输入:
-
测试数据有多组,输入n。
-
输出:
-
对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。
-
样例输入:
-
40
-
样例输出:
-
x=0,y=0,z=100 x=0,y=1,z=99 x=0,y=2,z=98 x=1,y=0,z=99
-
***********************************
《数据结构》学过“百钱买百鸡”的例子,这里钱数不限,更简单了。问题属于枚举问题,由于问题规模不大,暴力求解即可。不过需要注意的是,1/3元一只的小鸡,计算时要用z/3.0,转换为浮点数运算才能不出错。
#include <cstdio>
using namespace std;
int main()
{
int n;
while(scanf("%d",&n)!=EOF){
int x,y,z;
for(x=0;x<=100;x++){
for(y=0;y<=100;y++){
z=100-x-y;
if(5*x+3*y+z/3.0<=n)
printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
}
return 0;
}
******************************************
坚持,而不是打鸡血~