文章

【GESP】C++一级练习 luogu-B4008, [语言月赛 202407] true

GESP一级基本运算练习,题目很长,但是很简单,难度★☆☆☆☆。

luogu-B4008

题目要求

题目描述

小 A 知道他的王国有三个属性,它们的和理应正好为 $10000$。但现在他所能看到的属性却不是这样:小 A 看到的依次是被放大了 $10$ 倍的第一个属性和被缩小了 $10$ 倍的第二个属性,无法看到第三个属性。

现在小 A 想知道这三个属性的真实值是多少,以方便小 A 将他的王国变为真实的。

输入格式

一行两个整数 $a,b$,表示小 A 看到的第一个属性和第二个属性的值。

输出格式

输出一行,三个整数,表示小 A 的王国的真实的三个属性分别是多少。

样例输入 #1

1
40000 300

样例输出 #1

1
4000 3000 3000

样例输入 #2

1
50000 100

样例输出 #2

1
5000 1000 4000

样例输入 #3

1
4510 232

样例输出 #3

1
451 2320 7229

数据范围

对于 $100\%$ 的数据,$1 \le a \le 100000$,$1 \le b \le 1000$,且 $a$ 为 $10$ 的倍数。保证结果没有负数。


题目分析

这道题目需要根据小A看到的两个属性值,推导出王国的三个真实属性值。通过分析题目和示例,我们可以发现以下规律:

  1. 第一个属性值a是真实值的10倍,即真实值 = a/10
  2. 第二个属性值b是真实值的1/10,即真实值 = b*10
  3. 第三个属性值可以通过总和10000减去前两个真实值得到

因此,我们只需要按照这个规律,对输入的两个数进行相应的运算即可得到答案。

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main() {
    // 定义变量a和b用于存储输入的两个数
    int a, b;
    // 从标准输入读取两个整数
    cin >> a >> b;
    // 输出三个数:
    // 1. a除以10(第一个人分到的钱)
    // 2. b乘以10(第二个人分到的钱) 
    // 3. 10000减去前两个人分到的钱(第三个人分到的钱)
    cout << a / 10 << " " << b * 10 << " " << 10000 - a / 10 - b * 10;
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

luogu-”系列题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权