#include<stdio.h>
#include<stdbool.h>
#include<assert.h>
#include<string.h>
#include<iostream>
using namespace std;
#define ctoi(x)(x-'0')
int main()
{
//用于将数字已字符数组的方式存储
string a = "";
string b = "";
cin >> a >> b;
//cout << a << endl;
//用数组来按位存储数字
int num1[1000] = { 0 };
int num2[1000] = { 0 };
int Sum[1000] = { 0 };
int alen = a.size();
int blen = b.size();
int lenMax = alen > blen ? alen : blen;
//cout << blen << " " << alen;
//录入数字
for (int i = 0; i < alen; i++)
{
num1[i] = ctoi(a[i]);
}
for (int i = 0; i < blen; i++)
{
num2[i] = ctoi(b[i]);
}
//cout << num2[0];
int temp = 0; //相加后的数字
int t = 0; //计数
int rar = 0; //是否要进一
while (alen>0||blen>0)
{
int ka = alen > 0 ? num1[alen-1] : 0;
int kb = blen > 0 ? num2[blen-1] : 0;
temp = ka + kb + rar;
rar = 0;
if (temp >= 10)
{
rar = 1;
temp = temp % 10;
}
Sum[t] = temp;
if (alen > 0)
{
alen--;
}
if (blen > 0)
{
blen--;
}
t++;
}
if (rar > 0)
{
Sum[t] = 1;
lenMax++;
}
for (int i = lenMax-1; i >= 0; i--)
{
cout << Sum[i];
}
}
超大数字相加超过了longlong的存储范围,需要用其他的方式来计算