比赛 普及组2016模拟练习4 评测结果 AAAAAAAAAA
题目名称 火星上的加法运算 最终得分 100
用户昵称 FTRailfan 运行时间 0.023 s
代码语言 C++ 内存使用 0.36 MiB
提交时间 2016-11-17 20:49:08
显示代码纯文本
#include<fstream>
#include<algorithm>
#include<cstring>
#include<string>
using namespace std;
ifstream fin("madition.in");
ofstream fout("madition.out");
int a[15],pagea[10005],pageb[10005],n,hasha[26][100],m;
int calc(int n,char a[205],char b[205])
{
    int numa[205]={0},numb[205]={0},numc[205]={0},i,len,x;
    char c[205]={0},fa;
    for(i=strlen(a);i>=1;i--)
    {
    x=a[i-1];
    if(x<=57)
        numa[strlen(a)-i]=x-48;
    else
        numa[strlen(a)-i]=x-87;
    }
    for(i=strlen(b);i>=1;i--)
    {
    int x=b[i-1];
    if(x<=57)
        numb[strlen(b)-i]=x-48;
    else
        numb[strlen(b)-i]=x-87;
    }
    len=max(strlen(a),strlen(b));
    for(i=0;i<=len;i++)
    {
     numc[i]=numa[i]+numb[i]+numc[i];
     while(numc[i]>=n)
     {
                     numc[i+1]++;
                     numc[i]=numc[i]-n;
     }
    }
    
    if(numc[len]!=0)
                      len=len+1;
    len--;
    for(i=len;i>=0;i--)
    {
     if(numc[i]>=10)
     fa=numc[i]+87;
     else
     fa=numc[i]+48;
     fout<<fa;
    }
    return 0;
}

int main(){
    int i,j;
    char a[205]={0},b[205]={0};
    fin>>n;
    fin>>a;
    fin>>b;
    calc(n,a,b);
    fin.close();
    fout.close();
    return 0;
}