题解 | #百鸡问题#

百鸡问题

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-06 10:58
已编辑
门头沟学院 嵌入式工程师
双非25想找富婆不想打工:哦,这该死的伦敦腔,我敢打赌,你简直是个天才,如果我有offer的话,我一定用offer狠狠的打在你的脸上
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务