该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#define maxn 999
int aa[maxn],bb[maxn];
char a[maxn],b[maxn];
using namespace std;
int main(){
int loop,ibase,obase,i,count,len,j;
cin>>loop;
while(loop--){
scanf("%d %d %s",&ibase,&obase,a);
len=strlen(a);
for(i=len-1,j=0;i>=0;--i)
aa[j++]=a[i]-(a[i]<='9'?48:a[i]
count=0;
while(len>0){
j=len-1;
while(j){
aa[j-1]+=aa[j]%obase*ibase;
aa[j]/=obase;
j--;
}
bb[count++]=aa[0]%obase;
aa[0]/=obase;
while(0
}
///printf("count=%d\n",count);
for(b[count]='\0',i=count-1,j=0;i>=0;i--,j++)
b[j]=bb[i]+(bb[i]<10?48:bb[i]<36?55:61);
printf("%d %s\n%d %s\n\n",ibase,a,obase,b);
}
return 0;
}