题解 | #百鸡问题#

百鸡问题

https://www.nowcoder.com/practice/01d161052db64c249a47fc723b4fd5db

#include <iostream>
int main() {
    int n;
    // 100 只鸡
    // 5元 大鸡    x
    // 3元 小鸡    y
    // 1/3元 鸡娃  z
    while (EOF != scanf("%d", &n)) {
        // 优先满足z 再满足y 最后满足x 就能得到 x y z 依次增大的顺序
        // 所以 z要在最内层循环 y在中间循环 x 最慢,x循环1次 y循环1 * 100次, z 循环 1 * 100 * 100 次
        for (int x = 0; x <= 100; ++x) {
            for (int y = 0; y <= 100 - x; ++y) {
                for (int z = 0; z <= 100 - x - y; ++z) {
                    if ((100 == x + y + z) && n >= z * 0.3333 + y * 3 + x * 5) {
                        printf("x=%d,y=%d,z=%d\n", x, y, z);
                    }
                }
            }
        }
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
11-21 17:16
科大讯飞 算法工程师 28.0k*14.0, 百分之三十是绩效,惯例只发0.9
点赞 评论 收藏
分享
10-17 10:05
已编辑
北华大学 全栈开发
牛客872465272号:掉头发了哥
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务