Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166559 | B班---刘鸿晖 | 进制数加法 | C++ | 解答错误 | 83 | 1 MS | 248 KB | 633 | 2024-08-19 14:50:43 |
#include<bits/stdc++.h> using namespace std; long long a[105],m; long long mtoten(string n){ long long sum=0,cnt=1; for(int i=n.size()-1;i>=0;i--){ if(n[i]>='0'&&n[i]<='9'){ long long s=n[i]-'0'+0; sum+=s*cnt; cnt*=m; } else{ long long s=n[i]-55+0; sum+=s*cnt; cnt*=m; } } return sum; } void tentom(long long n){ long long cnt=0; while(n>0){ cnt++; a[cnt]=n%m; n/=m; } for(int i=cnt;i>=1;i--){ if(a[i]>9){ cout<<(char)(a[i]+55); } else{ cout<<a[i]; } } } int main(){ string x,y; cin>>m>>x>>y; tentom(mtoten(x)+mtoten(y)); return 0; }