Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
166817 陈道宁 进制数加法 C++ 通过 100 1 MS 248 KB 609 2024-08-19 15:24:32

Tests(6/6):


#include<bits/stdc++.h> using namespace std; string a,b,w="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"; int N,x[100],y[100]; int main(){ 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); return 0; }


测评信息: