比赛 普及组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;
}