Run ID | 作者 | 问题 | 语言 | 测评结果 | Time | Memory | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|
2608 | 孙浚轩 | 进制转换2 | C++ | Output Limit Exceeded | 16 MS | 280 KB | 831 | 2024-01-14 19:43:57 |
#include <iostream> #include <string> #include <cmath> using namespace std; int ctoi(char c){ if(c>='0'&&c<='9') return c-'0'; else return c-'A'+10; } char itoc(int n){ if(n>=0&&n<=9) return '0'+n; else return 'A'+n-10; } int mtoten(string num,int m){ int d=0; int p=0; for(int i=num.length()-1;i>=0;i--){ d+=ctoi(num[i])*pow(m,p); p++; } return d; } string tenton(int d,int n){ string res=""; while(d>0){ int rem=d%n; res=itoc(rem)+res; d/=n; } return res; } int main(){ int m,n; string x; while(m!=EOF){ cin>>m>>n; cin>>x; int dec=mtoten(x,m); string res=tenton(dec,n); cout<<res<<endl; } return 0; }