B3619 10 进制转 x 进制 题解

· · 题解

题目传送门

这道题就是一道板子题。

例如, $10$ 进制数 $89$ 转成 $2$ 进制数使用短除法的过程就如 $图1.1$ 所示。 ![](data:image/png;base64,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) $图1.1

短除法除到商为 0 时,就除完了,再将每一步除得的余数从下到上排列就是得出的答案。

图1.1 所示, 10 进制数 89 转成 2 进制就是 (1011001)_2

我们需要做的就是把这个过程用代码模拟一遍。

那怎么实现呢?

具体如下:

string answer = ""; // 存储最终答案
while (num) { // 模拟短除法并取余
  if (num % x >= 10) answer += num % x - 10 + 'A';
  else answer += num % x + '0';
  num /= x;
}

做完短除法后,一定要将 answer 反转一遍。

因为我们是边除边存储余数,在短除法中就是从上到下存储,但我们应该从下到上存储。

反转 answer 的代码如下:

reverse(answer.begin(), answer.end()); // 反转字符串 

最后,把代码拼起来就完事了。

完整代码:

#include <bits/stdc++.h>
using namespace std;

int main() {
    int num, x;
    cin >> num >> x;
    string answer = ""; // 存储最终答案
    while (num) { // 模拟短除法并取余
        if (num % x >= 10) answer += num % x - 10 + 'A';
        else answer += num % x + '0';
        num /= x;
    }
    reverse(answer.begin(), answer.end()); // 反转字符串 
    cout << answer; // 输出答案 

    return 0;
}