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