描述
将一个十进制数N转换成R进制数输出,2≤R≤16,R≠10。
输入
多行。第一行指出以下一共有多少组数据,后续每行包含两个整数N和R,以空格分隔,-100000≤N≤100000,2≤R≤16,R≠10。
输出
多行。每行给出转换后的R进制数。
样例输入
3
7 2
23 12
-4 3
样例输出
111
1B
-11
#include <iostream>
#include <string>
#define N 17
using namespace std;
int main()
{
int m,n,r;
int a[N]={0};
scanf("%d",&m);
for(int j=0;j<m;j++)
{
int i=0;
scanf("%d %d",&n,&r);
if(n==0)
printf("0");
else if(n<0)
{
n=-n;
printf("-");
}
while(n)
{
a[i]=n%r;
n=n/r;
i++;
}
i--;
for(;i>=0;i--)
{
if(a[i]>9)
printf("%c",a[i]+55);
else
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}