枚举(百鸡问题)

直接看题目

复制代码
题目描述:
    用小于等于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 <stdio.h>
#include <stdlib.h>
//枚举
void test_1();
int main() {
    test_1();
    return 0;
}
//枚举(百鸡问题)
void test_1(){
    int n;
    while (scanf("%d",&n)!=EOF&&n!=0) {
        for (int x = 0; x<=100; x++) {//枚举x
            for(int y = 0;y<=100-x;y++){//枚举y
                int z = 100-x-y;
                if (5*x*3+y*3*3+z<=n*3) {//以防1/3精度缺失,等式两边同乘3
                    printf("x=%d,y=%d,z=%d\n",x,y,z);
                }
            }
        }
    }
}
/**************************************************************
    Problem: 1045
    User: Numen_fan
    Language: C++
    Result: Accepted
    Time:10 ms
    Memory:1020 kb
****************************************************************/
复制代码

 

posted @   小小范同学  阅读(363)  评论(0编辑  收藏  举报
编辑推荐:
· C++代码改造为UTF-8编码问题的总结
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
阅读排行:
· 为DeepSeek添加本地知识库
· 精选4款基于.NET开源、功能强大的通讯调试工具
· DeepSeek智能编程
· 大模型工具KTransformer的安装
· [计算机/硬件/GPU] 显卡
点击右上角即可分享
微信分享提示