输入
输入数据包含多个测试实例,对于每组测试用例:
输入两个整数N (|N| <= 108) 和 R(2 <= R <= 16, R ≠ 10)。
输出
输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。
输入样例
7 2 23 12 -4 3
输出样例
111 1B -11
#include<stdio.h>
void Base_conversion(int N,int R){
int c=N%R;
if(N>=R){
Base_conversion(N/R,R);
}
if(c<10){
printf("%d",N%R);
}
else{
char d='A'+N%R-10;
printf("%c",d);
}\\递归函数,实现逆向输出
}
int main(){
int N,R;
while(scanf("%d %d",&N,&R)==2){
if(N<0)
{
printf("-");
N=-N;
}
Base_conversion(N, R);
printf("\n");
}
return 0;
}