6
数的进制转换
思路
考虑使用短除法进行进制转换。短除法的步骤是:对于一个
#include<bits/stdc++.h>
using namespace std;
const int N=1010;
int T;
int main(){
cin>>T;
while(T--){
int a,b;
string line_a;
cin>>a>>b>>line_a;
printf("%d %s\n",a,line_a.c_str());
printf("%d ",b);
vector<int>c;
for(char v:line_a){
if(isdigit(v))c.push_back(v-'0');
else if(isupper(v))c.push_back(v-'A'+10);
else c.push_back(v-'a'+36);
}
reverse(c.begin(),c.end());
vector<int>ans;
while(!c.empty()){
int t=0;
for(int i=c.size()-1;~i;--i){
c[i]+=t*a;
t=c[i]%b;
c[i]/=b;
}
ans.push_back(t);
while(!c.empty()&&!c.back())c.pop_back();
}
reverse(ans.begin(),ans.end());
for(int v:ans){
if(v<10)putchar(v+'0');
else if(v<36)putchar(v-10+'A');
else putchar(v-36+'a');
}
puts("\n");
}
return 0;
}
本文作者:wscqwq
本文链接:https://www.cnblogs.com/wscqwq/p/17153730.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步