Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
325102 | 董峻昊 | 【C6-3】进制转换 | C++ | 通过 | 100 | 1 MS | 252 KB | 795 | 2025-06-01 19:55:47 |
#include<iostream> #include<string> using namespace std; int main(){ int n,m; string num; cin>>n>>num>>m; int s=0; while(num[s]=='0'&&num[s+1]!='\0')s++; num=num.substr(s); if(num[0]=='\0'){ cout<<"0"<<endl; return 0; } long long d=0; for(int i=0;num[i]!='\0';i++){ char c=num[i]; int v=(c>='0'&&c<='9')?(c-'0'):(c-'A'+10); d=d*n+v; } if(d==0){ cout<<"0"<<endl; return 0; } string r; while(d>0){ int rem=d%m; char dig=(rem<10)?(rem+'0'):(rem-10+'A'); r+=dig; d/=m; } string rev; for(int i=0;r[i]!='\0';i++)rev=r[i]+rev; cout<<rev<<endl; return 0; }