Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166929 | C班 郑筱橦 | 进制数加法 | C++ | 通过 | 100 | 1 MS | 252 KB | 635 | 2024-08-19 15:38:16 |
#include <bits/stdc++.h> using namespace std; int main (){ string w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string a, b; int N,x[100],y[100]; cin >> N >> a >> b; while(a.length()<b.length()) a='0'+a; while(b.length()<a.length()) b='0'+b; a='0'+a; b='0'+b; for (int i=a.length()-1;i>=0;i--){ x[i]=w.find(a[i],0); y[i]=w.find(b[i],0); } for(int i=a.length()-1; i >= 0; i--) { x[i]=x[i]+y[i]; if(x[i] >= N) for (int k=i; x[k]>=N; k--) { x[k]=x[k]-N; x[k-1]++; } a[i]=w[x[i]]; } while(a[0]=='0') a.erase(0,1); cout << (a.length()==0?"0":a)<<endl; return 0; }