描述
将一个十进制数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(" "); } return 0; }