3374. 进制转换2

原题传送:AcWing 3374. 进制转换2

将 MMM 进制的数 XXX 转换为 NNN 进制的数输出。

输入格式

第一行包括两个整数: MMM 和 NNN 。

第二行包含一个数 XXX , XXX 是 MMM 进制的数,现在要求你将 MMM 进制的数 XXX 转换成 NNN 进制的数输出。

输出格式

共一行,输出 XXX 的 NNN 进制表示。

数据范围

2≤N,M≤362 \le N,M \le 362≤N,M≤36 ,
XXX 最多包含 100100100 位。
在输入中,当某一位数字的值大于 101010 (十进制下)时,我们用大写字母 A∼ZA \sim ZA∼Z ,分别表示(十进制下的)数值 10∼3510 \sim 3510∼35 。
在输出中,当某一位数字的值大于 101010 (十进制下)时,我们用小写字母 a∼za \sim za∼z ,分别表示(十进制下的)数值 10∼3510 \sim 3510∼35 。

输入样例:

10211

输出样例:

1011

思路:

高精度进制转换,注意十进制以上的字母处理。

题解:

#include <bits/stdc++.h>using namespace std;int a, b;
string s;
vector<int> A;vector<int> div(vector<int> A, int a, int b, int &r)
{vector<int> C;r = 0;for(int i = A.size() - 1; i >= 0; i--){r = r * a + A[i];C.push_back(r / b);r %= b;}reverse(C.begin(), C.end());while(C.size() && C.back() == 0)C.pop_back();return C;
}int main()
{cin >> a >> b >> s;for(int i = s.size() - 1; i >= 0; i--){char c = s[i];if(c >= 'A')A.push_back(c - 'A' + 10);elseA.push_back(c - '0');}string res;if(s == "0")res = "0";else{while(A.size()){int r;    A = div(A, a, b, r);if(r < 10)res += to_string(r);elseres += r - 10 + 'a';}}reverse(res.begin(), res.end());cout << res << endl;return 0;
}

【题解】【AcWing】3374. 进制转换2相关推荐

  1. 牛客题霸 [进制转换] C++题解/答案

    进制转换 题目描述 给定一个十进制数M,以及需要转换的进制数N.将十进制数M转化为N进制数 题解: 看似简单的进制转换套路非常多 1.M是32位整数,有可能是负数,所以还要特判一下 2.N的范围是[2 ...

  2. 不怂Java进制转换(洛谷P1143题题解,Java语言描述)

    感慨 Java也能这么好使啊,不容易-- --进阶的JFarmer 题目要求 P1143题目链接 分析 进制转换其实也还好,但既然用了Java,那就得扬眉吐气一次,体会体会利用API轻松秒题的感受,机 ...

  3. 《算法零基础100讲》(第20讲) 进制转换(二) - 进阶[C语言题解]

    文章目录 一. 知识普及 1.1 atoi 1.2 log 1.3 pow 1.4 floor 二. 进阶题解 168. Excel表列名称 171. Excel 表列序号 483. 最小好进制 一. ...

  4. 洛谷P1017题解 [NOIP2000 提高组] 进制转换

    原文地址:https://luvletter.blog.luogu.org/p1017-ti-jie P1017 [NOIP2000 提高组] 进制转换 题目描述 我们可以用这样的方式来表示一个十进制 ...

  5. NENU进制转换课后练习题解(问题A~问题F)

    ​ 文章目录 前言:对整数进制转换的理解 1.1进制理解 1.2如何转换? 问题 A: 5201 二进制位 题目描述 参考代码 问题 B: 5202 二进制转化为十六进制 题目描述 参考代码 问题 C ...

  6. SPOJ - BALNUM Balanced Numbers(数位dp+进制转换)

    题目链接:点击查看 题目大意:给出平衡数的定义:每一个偶数出现的次数必须是奇数次,每一个奇数出现的次数必须是偶数次,求给定区间中有多少个平衡数 题目分析:数位dp,这个题目就难在怎么确定状态转移,本来 ...

  7. 【解析】1057 数零壹 (20分)(进制转换)

    立志用更少的代码做更高效的表达 Pat乙级最优化代码+题解+分析汇总-->传送门 给定一串长度不超过 10^5的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分 ...

  8. 信息学奥赛一本通 1820:【00NOIP提高组】进制转换 | 洛谷 P1017 [NOIP2000 提高组] 进制转换

    [题目链接] ybt 1820:[00NOIP提高组]进制转换 洛谷 P1017 [NOIP2000 提高组] 进制转换 注意:两OJ上题目内容相同,输入输出要求不同 [题目考点] 1.数制 [解题思 ...

  9. 计算机13E怎么转换成十进制,十六进制换算(进制转换计算器)

    把下面的16进制转为10进制b35de1f058c72a7430241461cd504839dc27438e. 16进制转10进制16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第 ...

最新文章

  1. 【编译打包】twemproxy-0.4.0-2.el7.centos.src.rpm
  2. 借助Spring站点开始一个spring项目
  3. php5.6+Redis+Windows7安装 (phpstudy)
  4. windows核心编程学习笔记(八)结构化异常处理(Structured Exception Handling)
  5. 时间复杂度和空间复杂度,一看就懂,面试前必过一遍
  6. 记事本开发者日记~二
  7. STM32的JTAG下载模式
  8. oracle 相关1
  9. c语言 graph,基于图(graph)的应用举例
  10. LeetCode Excel Sheet Column Number 表列数
  11. 单片机牛人的学习经历
  12. Robotics正运动学求解仿真(附代码和解释)
  13. 老板让我通知领导们开会,有几个领导故意开会迟到,老板反而说我不会办事,怎么办?...
  14. 【武汉加油!中国加油!】挑战七天 实现机器视觉检测有没有戴口罩系统——第四五六七天
  15. python简易双人五子棋
  16. Docker中什么是宿主机?
  17. python下载迅雷资源_PYTHON实现迅雷、FLASHGET、QQ旋风转真实链接、磁链转种子文件、迅雷快传链接抓取 | 学步园...
  18. 阿里云ECS云服务器1M宽带能干嘛?
  19. 安装交叉编译工具:arm-himix200-linux
  20. Sonar代码扫描常见规则总结

热门文章

  1. 【Python,迄今为止讲解的最详细的一篇
  2. 实验六软件包管理linux,oeasy教您玩转linux010202软件包管理apt
  3. 赠书丨如何高效学习计算机视觉?
  4. 高效发表科技论文的写作方法与技巧
  5. 如何快速学习:掌握任何技能的 10 种行之有效的方法
  6. 数据分析之Excel的基本功能(上)
  7. export default (imported as router) was not found_开关插座IEC/EN/AS/NZS澳洲SAA认证
  8. 代谢组学助力研究“线粒体闪烁”,揭示细胞“返老还童”的新奥秘
  9. 泛泰A880S再次救砖成功,记录一下
  10. 美颜sdk版本是什么意思?如何选择第三方美颜sdk?