记录编号 353279 评测结果 AAAAAAAAAA
题目名称 火星上的加法运算 最终得分 100
用户昵称 Gravatar要要要不吃药 是否通过 通过
代码语言 C++ 运行时间 0.019 s
提交时间 2016-11-17 21:30:41 内存使用 0.29 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
char a[300],b[300];
int n1[300],n2[300];
int main()
{
	freopen("madition.in","r",stdin);
	freopen("madition.out","w",stdout);
    memset(n1,0,sizeof(n1));
    memset(n2,0,sizeof(n2));
    int n;
    cin>>n;
    cin>>a>>b;
    int len1=strlen(a);
    int len2=strlen(b);
    for(int i=0;i<len1;i++)
    {
        if(a[i]>='a' && a[i]<='z')
            n1[len1-1-i]=a[i]-'a'+10;
        else
            n1[len1-1-i]=a[i]-48;
    }
    for(int i=0;i<len2;i++)
    {
        if(b[i]>='a' && b[i]<='z')
            n2[len2-1-i]=b[i]-'a'+10;
        else
            n2[len2-1-i]=b[i]-48;
    }
    int len;
    for(int i=0;i<(len1>len2? len1:len2);i++)
    {
        n1[i]+=n2[i];
        if(n1[i]>=n)
        {
            n1[i+1]++;
            n1[i]-=n;
        }
    }
    for(int i=299;i>=0;i--)
        if(n1[i])
        {
            len=i;
            break;
        }
    char t;
    for(int i=len;i>=0;i--)
    {
        t=n1[i]+'a'-10;
        if(n1[i]>=10)
            cout<<t;
        else
            cout<<n1[i];
    }
    cout<<endl;
    return 0;
}