百鸡问题——枚举

题目描述:

    用小于等于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 <iostream>
#include<cstdio>
using namespace std;

int main()
{
    int x,y,z;
    int n;
    while(scanf("%d",&n)!=EOF){
        for(x=0;x<=100;x++)
            for(y=0;y<=100-x;y++)
                for(z=0;z<=100-x-y;z++)
                    if(x*5*3+y*3*3+z<=n*3)
                    printf("x=%d y=%d z=%d
",x,y,z);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/xym4869/p/8612259.html