HDU_2031——十进制转换成R进制
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
1 #include <cstdio> 2 int main() 3 { 4 int n,r,i; 5 const char str[18]="0123456789ABCDEF"; 6 char ans[100]; 7 while(~scanf("%d%d",&n,&r)) 8 { 9 i=0; 10 if(n<0) 11 { 12 n=-n; 13 printf("-"); 14 } 15 while(n) 16 { 17 ans[i++]=str[n%r]; 18 n=n/r; 19 } 20 for(int j=i-1;j>=0;j--) 21 { 22 printf("%c",ans[j]); 23 } 24 printf("\n"); 25 } 26 return 0; 27 }
——现在的努力是为了小时候吹过的牛B!!