SDUT—1252(进制转换)
来源:互联网 发布:深圳程序员工资 编辑:程序博客网 时间:2024/05/14 08:54
Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R != 10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
Example Input
7 2
23 12
-4 3
Example Output
111
1B
-11
题意:
将十进制转换成R进制,余数在0-9范围内用数字0-9,余数大于等于10,用字母A,B,C,D……..十六进制数代替。
分析:
可以用字符表示,0-9可以用字符‘0’+余数的方法转换成字符数字,>=10的余数用 余数-10+‘A’的方式转换成字符。
注意n 为0和为负数的情况。
代码
#include <iostream>#include <cstdio>#include <cmath>#include <cstring>using namespace std;int main(){ int n, r; char s[200]; while(scanf("%d %d", &n, &r)!=EOF) { if(n==0) { printf("0\n"); continue; } if(n < 0) { printf("-"); n = -n; } int m; int cnt = 0; while(n > 0) { m = n%r; if(m<=9) s[cnt++] = '0'+m; else s[cnt++] = m-10+'A'; n = n/r; } for(int j = cnt-1;j >=0;j--) printf("%c",s[j]); printf("\n"); } return 0;}
阅读全文
0 0
- SDUT—1252(进制转换)
- SDUT 1252----进制转换(栈)
- SDUT 1252 - 进制转换
- sdut 1252 进制转换
- 进制转换 SDUT 1252
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT 1252 进制转换
- SDUT--进制转换
- sdut oj1252 进制转换(栈)
- 数据结构之栈进制转换 (sdut oj 1252)
- 【栈与队列】SDUT练习2—数据结构实验之栈一:进制转换
- 数据结构之栈实验进制转换 (sdut oj 2131)
- SDUT 2131 数据结构实验之栈一:进制转换
- 数据结构实验之栈一:进制转换 SDUT 2131
- sdut oj2131 数据结构实验之栈一:进制转换
- SDUT 2131 数据结构实验之栈一:进制转换
- Scala学习笔记(一)安装
- php 操作数组 (合并,拆分,追加,查找,删除等)
- Scala学习笔记(二)Scala面向对象编程
- TCP/IP--数据链路层
- scala学习笔记(三)Scala函数式编程
- SDUT—1252(进制转换)
- scala学习笔记(四)流程控制
- scala学习笔记(五)集合操作
- scala学习笔记(六)Map和Tuple
- 解决ADF中记录锁的问题
- WebService学习第二天(2)
- 解决ADF+MySQL Table filter失效问题
- Hibernate注解使用方法总结
- Oracle SOA 开发运维经验总结