进制转换2 (清华大学考研机试)

简介: 进制转换2 (清华大学考研机试)

文章目录

  • 题目
  • AC代码


题目

本题链接:进制转换2

本博客给出本题截图

image.png

AC代码

代码解释:其实就是涉及到高精度的进制转换问题,高精度讲解详见:高精度运算,高精度模板见:高精度算法模板,本题和进制转换这道题并没有很大的区别,唯一区别的地方就是本题是直接由 m 进制转换为 n 进制,我们当然可以考虑成由 m 进制先转换为 10 进制,进而由 10 进制转换为 n 进制,但是这么去实现的话,我们需要做高精度加法,高精度乘法,高精度除法,这样显然是很复杂的,我们也可以直接把 m 进制转换为 n 进制,详细操作见代码部分,建议手动模拟


代码:

#include <iostream>
#include <cstring>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
    int m, n;
    string x;
    cin >> m >> n >> x;
    vector<int> A;
    for (int i = 0; i < x.size(); i ++ )
    {
        char c = x[x.size() - 1 - i];
        if (c >= 'A') A.push_back(c - 'A' + 10);
        else A.push_back(c - '0');
    }
    string res;
    while (A.size())
    {
        int r = 0;
        for (int i = A.size() - 1; i >= 0; i -- )
        {
            A[i] += r * m;
            r = A[i] % n;
            A[i] /= n;
        }
        while (A.size() && A.back() == 0) A.pop_back();
        if (r >= 10) res += r - 10 + 'a';
        else res += to_string(r);
    }
    reverse(res.begin(), res.end());
    cout << res << endl;
    return 0;
}



目录
相关文章
|
存储 算法
进制转换 (清华大学考研机试)
进制转换 (清华大学考研机试)
49 0
进制转换 (清华大学考研机试)
成绩排序2 (清华大学考研机试题)
成绩排序2 (清华大学考研机试题)
45 0
成绩排序2 (清华大学考研机试题)
成绩排序 (清华大学考研机试题)
成绩排序 (清华大学考研机试题)
59 0
成绩排序 (清华大学考研机试题)
|
7月前
|
存储 算法 调度
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(下)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
|
12月前
|
存储 固态存储 程序员
考研计算机组成原理总结(5)
考研计算机组成原理总结(5)
359 0
|
7月前
|
存储 安全 网络安全
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(下)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
|
7月前
|
存储 Unix Linux
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备二】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
|
7月前
|
存储 机器学习/深度学习 Unix
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)
【考研必备】解开“黑匣子”的神秘面纱,透视数字世界底层实现过程(计算机组成原理)(上)
|
12月前
|
存储 编译器
考研计算机组成原理总结(8)
考研计算机组成原理总结(8)
134 0

热门文章

最新文章