hdoj 2031进制转换
2016-01-07 20:23
176 查看
[align=left]Problem Description[/align]
输入一个十进制数N,将它转换成R进制数输出。
[align=left]Input[/align]
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
[align=left]Output[/align]
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
[align=left]Sample Input[/align]
[align=left]Sample Output[/align]
输入一个十进制数N,将它转换成R进制数输出。
[align=left]Input[/align]
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
[align=left]Output[/align]
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
[align=left]Sample Input[/align]
7 2 23 12 -4 3
[align=left]Sample Output[/align]
111 1B -11代码:#include<stdio.h> #include<math.h> int main() { int i,a,b,p[17]; while(scanf("%d%d",&a,&b)!=EOF) { if(a*b<0) printf("-"); a=abs(a); b=abs(b); for( i=0;;i++) { if(a>=b) { p[i]=a%b; a=a/b; } else { p[i]=a; break; } } for(int j=i;i>=0;i--) { if(p[i]==15) printf("F"); else if(p[i]==14) printf("E"); else if(p[i]==13) printf("D"); else if(p[i]==12) printf("C"); else if(p[i]==11) printf("B"); else if(p[i]==10) printf("A"); else if(p[i]<=9) printf("%d",p[i]); } printf("\n"); } return 0; }思路:这道水题,我做了半天,看来我比它还水!!!主要是开始老是忘记负号什么的!
相关文章推荐
- POJ-2018 Best Cow Fences(二分加DP)
- 安装MQ6.0过程中报无法启动程序“gsk7win.exe'[AMQ4733]
- 创建maven之后没有resources文件的解决办法
- lintcode 中等题:search in rotated sorted arrayII 搜索旋转排序数组II
- 慕课网 hibernate一对多
- 优先队列poj3253
- 演进的架构
- 被误解的MVC和被神化的MVVM(转)
- 简单密码破解
- 集群安装配置Hadoop具体图解
- 关于java中的不可变类(转)
- 概率论
- 安卓控件之菜单
- 安卓常用权限
- Codeforces 611C
- Intent七大属性
- Plus One leetcode
- Jquery自定义一个带名称的、可以传参数的函数以及setTimeout延迟调用,用法详解
- 求int型数据在内存中存储时1的个数
- cf#336-B-Hamming Distance Sum