#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[1000];
char ch[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//n进制转十进制
ll NtoTen(string s,int n){
for(int i=0;i<s.size();i++){
if('0'<=s[i]&&s[i]<='9') a[i+1]=s[i]-'0';
else a[i+1]=s[i]-'A'+10;
}
ll ans=0;
for(int i=1;i<=s.size();i++){
ans=ans*n+a[i];
}
return ans;
}
//十进制转M进制
string TentoM(ll x,int m){
string ans;
while(x){
ans+=ch[x%m];
x/=m;
}
reverse(ans.begin(),ans.end());
return ans;
}
int main()
{
vector<string> ans;
int T;cin>>T;
while(T){
int N,M;cin>>N>>M;
string s ;cin>>s;
ll x =NtoTen(s,N);
ans.push_back(TentoM(x,M));
T--;
}
for(auto i:ans) cout<<i<<endl;
return 0;
}
lanqiao OJ1230 进制转换
最新推荐文章于 2024-07-25 21:13:04 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)