问题 C: 百鸡问题
题目描述
用小于等于n元去买100只鸡,大鸡5元/只,小鸡3元/只,还有1/3元每只的一种小鸡,分别记为x只,y只,z只。编程求解x,y,z所有可能解。
输入
测试数据有多组,输入n。
输出
对于每组输入,请输出x,y,z所有可行解,按照x,y,z依次增大的顺序输出。
样例输入
45
样例输出
x=0,y=0,z=100 x=0,y=1,z=99 x=0,y=2,z=98 x=0,y=3,z=97 x=0,y=4,z=96 x=1,y=0,z=99 x=1,y=1,z=98 x=1,y=2,z=97 x=2,y=0,z=98
AC代码:
#include<cstdio>
int main()
{
double n;
while(scanf("%lf",&n)!=EOF){
int x,y,z;
double sum=0;
for( x=0;x<=100;x++)
for( y=0;y<=100;y++)
for( z=0;z<=100;z++){
if((x+y+z==100)&&((sum=5*x+3*y+(double)z/3)<=n)) printf("x=%d,y=%d,z=%d\n",x,y,z);
}
}
}
/**************************************************************
Problem: 1957
User: 2015212040209
Language: C++
Result: 正确
Time:12 ms
Memory:1116 kb
****************************************************************/