输入一个十进制数N,将它转换成R进制数输出。 |
输入
输入数据包含多组测试数据,每组测试数据包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。 |
输出
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。 |
难度
一般 |
输入示例
7 2 23 12 -4 3 |
输出示例
111 1B -11 |
#include<stdlib.h>
#include<string.h>
#include<stdio.h>
void f(int N,int R)
{
int m;
if(N==0)
return ;
else
{
f(N/R,R);
m=N%R;
if(m<10)
printf("%d",m);
else
printf("%c",'A'+m-10);
}
}
main()
{
int N,R;
while(scanf("%d %d",&N,&R)!=EOF)
{
if(N==0)
printf("%d",0);
if(N<0)
{
printf("-");
N=-N;
}
f(N,R);
printf("\n");
}
return 0;
}