高精度的进制转换
#include<stdio.h>
#include<string.h>
int n, ori, to, t[1000], tonum[1000];
char str[1000], num[1000];
int main ()
{
scanf("%d", &n);
while (n--)
{
scanf("%d%d%s", &ori, &to, str);
int i, j= 0, len= strlen(str), k= len;
for (i=len-1; 0 <= i; i--)
t[len-1-i]= str[i]-( 58 > str[i] ? '0' : 91 > str[i] ? 'A'-10 : 'a'-36 );
while( k )
{
for ( i = k-1 ; i > 0; i-- )
{
t[i-1]+=t[i]%to*ori;
t[i]/=to;
}
tonum[j++]=t[0]%to;
t[0]/=to;
while( 0 < k && !t[k-1]) k--;
}
for ( num[j] = i = 0 ; i < j ; i++ )
num[j-1-i]=tonum[i]+( 10 > tonum[i] ? '0' : 36 > tonum[i] ? 'A'-10 :'a'-36);
printf("%d %s\n%d %s\n\n", ori, str, to, num);
}
return 0;
}