AP协会训练第二周:进制转换
2019-02-03 15:51
97 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43279710/article/details/86759721
题目要求
输入一个十进制数N,将它转换成R进制数输出。
输入
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
输出
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
IO 实例
输入:74921 16
输出:124A9
输入:167480 9
输出:274658
输入:-2437443 11
输出:-1415318
输入:-2325324 15
输出:-30DEB9
输入:143 16
输出:8F
输入:^z(ctrl+z)
输出:Process finished with exit code 0
AC 代码
#include <iostream> #include <iomanip> #include <cmath> using namespace std; char ch[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; string iop(int m, int n) { char s[1000] = {0}; char ans[1000] = {0}; int flag = 0; int i = 0, j = 0; if (m < 0) { m = -m; flag = 1; }; while (1) { s[i++] = ch[m % n]; m /= n; if (m == 0) { break; } } i--; if (flag) { ans[j++] = '-'; } while (i >= 0) { ans[j++] = s[i--]; } return ans; } int main() { int m, n; while (cin >> m >> n) { cout << iop(m, n) << endl< 3ff7 span class="token punctuation">; } return 0; }
后话
为啥记这一个题呢,因为我发现string类型的函数返回值居然可以是char字符串?!有点东西。还有就是怕忘了咋做,留着以后看好了。
水题。
相关文章推荐
- Java语言实现16进制数转换成2进制数,再由2进制数转换成8进制数(蓝桥杯训练)
- 牛客网三道编程题(五) 之华为机试在线训练(四)进制转换、删除重复出现的数字、句子逆序
- YT 督促训练 fzoj 2012Solve equation 各种进制转换为10进制
- 不同进制间的相互转换的理解
- 透明度10进制转换成16进制
- 十六进制转换成十进制函数
- 10进制和36进制互相转换
- POJ 1220-NUMBER BASE CONVERSION 任意进制数转换
- Java进制转换
- itoa()函数,10进制转换到(2~36)进制
- 数据结构实验之栈与队列一:进制转换
- C#数字进制间与字符串类型相互转换
- 通过一个表格不用算直接转换各种不同进制
- 进制间互相转换
- SQL之36进制转换成10进制数据
- 实现10进制转换为2进制
- java 10 进制 转换为 2 进制, 利用递归
- JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)
- NOJ 1012 进制转换(十进制转换成随意进制)
- 计算机进制问题---浮点数转换为二进制数