Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
166762 | A班 赵正帆 | 进制数加法 | C++ | 通过 | 100 | 1 MS | 260 KB | 618 | 2024-08-19 15:20:52 |
#include <bits/stdc++.h> using namespace std; int main(){ string w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; string a,b; int n,x[1000],y[1000]; cin >> n >> a >> b; while(a.size()<b.size()){ a='0'+a; } while(a.size()>b.size()){ b='0'+b; } a='0'+a; b='0'+b; for(int i=a.size()-1;i>=0;i--){ x[i]=w.find(a[i],0); y[i]=w.find(b[i],0); } for(int i=a.size()-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.size()==0?"0":a); return 0; }