TB椰程 TypeBuddy 打字搭子

【例10.2】分钱游戏

C++语法 · 顺序结构 · 代码 · cpp · 难度 4/5 · 共 519 字

倒推三次分钱前各自的钱数

  • C++语法
  • 例题

正文

// 原题:https://oj.yecheng.tv/p/P48
// 题意:甲乙丙轮流把钱分给另外两人
//       (分给谁就翻倍),三轮后三人钱数相同,
//       求原来各有多少钱。
// 思路:最终各 x/3 元,从最后一步往回倒推:
//       每次逆操作是"收到的一半还回去"。
#include <iostream>
using namespace std;

int main() {
    long long x;
    cin >> x;
    // 最终三人相等
    long long a = x / 3, b = x / 3, c = x / 3;
    // 逆推丙分钱那一步
    b /= 2; a /= 2; c = x - a - b;
    // 逆推乙分钱那一步
    a /= 2; c /= 2; b = x - a - c;
    // 逆推甲分钱那一步
    b /= 2; c /= 2; a = x - b - c;
    cout << a << " " << b << " " << c << endl;
    return 0;
}

C++语法 · 顺序结构的其它内容

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