Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
167761 | 孔心悦 | 进制数加法 | C++ | 通过 | 100 | 0 MS | 252 KB | 682 | 2024-08-19 17:20:56 |
#include <bits/stdc++.h> using namespace std; int n,a[30],b[30],sum[30]; string st,st2; int main(){ cin>>n; cin>>st; for(int i=0;i<st.size();i++){ if(st[i]>='0'&&st[i]<='9'){ a[st.size()-1-i]=st[i]-'0'; }else{ a[st.size()-1-i]=st[i]-'A'+10; } } cin>>st2; for(int i=0;i<st2.size();i++){ if(st2[i]>='0'&&st2[i]<='9'){ b[st2.size()-1-i]=st2[i]-'0'; }else{ b[st2.size()-1-i]=st2[i]-'A'+10; } } int sums=max(st.size(),st2.size()); int jin=0; for(int i=0;i<sums;i++){ sum[i]=a[i]+b[i]+jin; jin=sum[i]/n; sum[i]%=n; } if(jin>0){ sum[sums++]=jin; } for(int i=sums-1;i>=0;i--){ cout<<sum[i]; } return 0; }