进制转换
2014-05-01 22:44
197 查看
进制转换
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 3 Accepted Submission(s) : 3
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11
代码如下:
#include <iostream> #include <cstdio> using namespace std; char ma[16] = {'0','1','2','3','4','5','6', '7','8','9','A','B','C','D','E','F'}; int main() { int stacks[40]; int top; int n , b; while(scanf("%d %d",&n,&b)!=EOF) { top = 0; int sign = 0; if(n < 0){ sign = 1; n = -n; } while(n) { stacks[top++] = n%b; n/=b; } if(sign) printf("-"); for(int i = top-1; i >= 0; i --) printf("%c",ma[stacks[i]]); printf("\n"); } return 0; }
相关文章推荐
- 1.m分解阶乘之和
- 2.几种递推数
- 3.欧拉函数
- 4.快速幂模m算法
- 5.扩展欧几里得&&中国剩余定理
- 6.数论_web
- 组合数求模总结
- 【数论学习】奇素数分解为两个数平方和
- 【数论学习】数论分析证明
- 整数对
- Leftmost Digit
- POJ 3292.Semi-prime H-numbers
- NYOJ-954-N!
- HDU 1133 (数论 or DP、高精度;Java版)
- POJ 1061 青蛙的约会
- zoj_3621 Factorial Problem in Base K
- zoj_1657 Goldbach's Conjecture
- zoj_1526 Big Number
- poj_3210 Coins
- poj_1528 Perfection