Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
167859 | 刘墨谦 | K进制数转L进制数 | C++ | 解答错误 | 0 | 1 MS | 252 KB | 753 | 2024-08-19 19:43:05 |
#include<iostream> #include<vector> #include<bits/stdc++.h> using namespace std; string ccc(string num,int n,int m){ int t=0; int len=num.size(); for (int i=0;i<len;i++){ if (num[i]>='0' && num[i]<='9'){t+=(num[i]-'0')*pow(n,len-i-1);} else{t+=(num[i]-'A'+10)*pow(n,len-i-1);} } vector<int>n_c; int k; char q; string nnn; while(t!=0){ n_c.push_back(t%m); t=t/m; } for (int i=0,j=n_c.size()-1;i<j;i++,j--){ k=n_c[i]; n_c[i]=n_c[j]; n_c[j]=k; } for (int j=0;j<=n_c.size()-1;j++){ if(n_c[j]>=10){q=n_c[j]-10+'A';} else{q=n_c[j]-0+'0';} nnn+=q; } return nnn; } int main(){ string num; int n,m; while(cin){ cin>>n>>num>>m; num=ccc(num,n,m); cout<<num<<endl; } return 0; }