比赛 |
普及组2016模拟练习4 |
评测结果 |
AAAAAAAAAA |
题目名称 |
火星上的加法运算 |
最终得分 |
100 |
用户昵称 |
夕见ai |
运行时间 |
0.002 s |
代码语言 |
C++ |
内存使用 |
0.32 MiB |
提交时间 |
2016-11-17 20:48:56 |
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int a[210],b[210],c[210],lena,lenb,lenc=1,n;
char s1[210],s2[210];
int main(){
freopen("madition.in","r",stdin);
freopen("madition.out","w",stdout);
cin>>n>>s1>>s2;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
lena=strlen(s1);
lenb=strlen(s2);
int i,x=0;
for(i=0;i<=lena-1;i++){
if((s1[i]>='0')&&(s1[i]<='9'))a[lena-i]=s1[i]-'0';
else a[lena-i]=s1[i]-'a'+10;
}
for(i=0;i<=lenb-1;i++){
if((s2[i]>='0')&&(s2[i]<='9'))b[lenb-i]=s2[i]-'0';
else b[lenb-i]=s2[i]-'a'+10;
}
while(lenc<=lena||lenc<=lenb){
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/n;
c[lenc]%=n;
lenc++;
}
c[lenc]=x;
char k;
if(c[lenc]==0)lenc--;
for(i=lenc;i>=1;i--){
if(c[i]<=9)cout<<c[i];
else{
k='a'-10+c[i];
cout<<k;
}
}
return 0;
}