TB椰程 TypeBuddy 打字搭子

练39.4 百钱买百鸡

C++语法 · 循环结构 · 代码 · cpp · 难度 4/5 · 共 690 字

双重枚举解百钱买百鸡问题

  • C++语法
  • 练习

正文

// 原题:https://oj.yecheng.tv/p/P239
// 题意:公鸡 3 文一只、母鸡 2 文一只、
//       1 文买 3 只小鸡,100 文买 100 只鸡且每种至少一只,
//       按数量从小到大输出所有方案。
// 思路:枚举公鸡和母鸡数量,小鸡数随之确定,
//       验证总钱数(小鸡钱数乘 3 避免除法)。
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    cout << "公鸡母鸡小鸡" << endl;
    // 公鸡至少 1 只,最多 33 只
    for (int x = 1; 3 * x <= 100; x++) {
        // 母鸡至少 1 只
        for (int y = 1; 3 * x + 2 * y <= 100; y++) {
            int z = 100 - x - y;
            // 小鸡也要至少 1 只,且钱数刚好 100 文
            if (z >= 1 && z % 3 == 0 && 3 * x + 2 * y + z / 3 == 100) {
                cout << setw(5) << x << setw(5) << y << setw(5) << z << endl;
            }
        }
    }
    return 0;
}

C++语法 · 循环结构的其它内容

打字首页 · 词库画廊 · 编程打字 · 指法入门 · 天梯榜 · 数据分析 · 班级课堂 · 关于我们
椰程 TypeBuddy 打字搭子 —— 键盘指法练习 · 单词记忆 · 班级课堂 · 在线 PK