#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
using namespace std;
long long getnum(char arr[],int c)
{
int t=strlen(arr);
int ans=0;
int io;
int brr[33];
for(io=0;io<t;io++)
{
if(arr[io]=='a')
{
brr[io]=10;
}
else if(arr[io]=='b')
{
brr[io]=11;
}
else if(arr[io]=='c')
{
brr[io]=12;
}
else if(arr[io]=='d')
{
brr[io]=13;
}
else if(arr[io]=='e')
{
brr[io]=14;
}
else if(arr[io]=='f')
{
brr[io]=15;
}
else
{
brr[io]=arr[io]-'0';
}
}
for(io=0;io<t;io++)
{
ans+=brr[io]*pow((double)c,(double)t-1-io);
}
return ans;
}
int main()
{
int cnt;
cin>>cnt;
while(cnt--)
{
char arr[32];
char brr[32];
int c;
cin>>arr>>brr>>c;
long long s;
s=getnum(arr,c)/getnum(brr,c);
long long remain;
remain=getnum(arr,c)-s*getnum(brr,c);
cout<<"("<<s<<","<<remain<<")"<<endl;
}
}
简单的字符串处理,其中加了一步对于进制的理解。。。
总而言之相当于是一个让大家了解一下如何把字符串转换成相对应进制的数。。
如果有简单的转换方法希望大家积极评论,互相学习。