百鸡问题
哈尔滨工业大学机试
题目描述
Time Limit: 1000 ms
Memory Limit: 256 mb
用小于等于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
思路:
暴力解,大鸡和小鸡都从零开始遍历,符合条件则输出
代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
while(cin>>n){
int x,y,z;
for(x=0;x<=n/5;x++){
for(y=0;y<=(n-5*x)/3;y++){
z = 100-x-y;
if(x*15+y*9+z<=3*n)
cout<<"x="<<x<<","<<"y="<<y<<","<<"z="<<z<<endl;
}
}
}
return 0;
}