hdu 2031进制转换

来源:互联网 发布:js tbody 动态添加行 编辑:程序博客网 时间:2024/06/12 01:48

进制转换


Problem Description
输入一个十进制数N,将它转换成R进制数输出。
 

Input
输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
 

Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
 

Sample Input
7 223 12-4 3
 

Sample Output
1111B-11
//from:hdu 2031//time:2017.11.16#include <stdio.h>int ss(int a){if(a<0)a=-a;return a;}int main(){int n,m,i,t,l;int a[50];char s[50];while(scanf("%d%d",&n,&m)!=EOF){if(n<0)printf("-");n=ss(n);if(m<=10){l=0;while(n){a[l++]=n%m;n/=m;}for(i=l-1;i>=0;i--)printf("%d",a[i]);printf("\n");}else{l=0;while(n){t=n%m;if(t>9)s[l++]=t-10+'A';elses[l++]='0'+t;n/=m;}for(i=l-1;i>=0;i--)printf("%c",s[i]);printf("\n");}}return 0;}


原创粉丝点击