#include<iostream>
using namespace std;
int main(){
string s1,s2;
cin>>s1>>s2;
int a[100]={0},b[100]={0};
//将字符串反向存储,方便运算
for(int i=0;i<s1.size();i++){
a[i]=s1[s1.size()-i-1]-'0';
}
for(int i=0;i<s2.size();i++){
b[i]=s2[s2.size()-1-i]-'0';
}
//按位依次相加
int t=0;//进位
for(int i=0;i<max(s1.size(),s2.size());i++){//加到最长字符串最后
a[i]+=(b[i]+t);//s1,s2,t先相加
t=a[i]/10;//计算进位
a[i]%=10;//计算本位
}
if(t!=0){//如果t为0无进位,否则输出最高位
cout<<t;
}
//去除多余前缀0
int temp=0;//判断是否非0
for(int i=max(s1.size(),s2.size())-1;i>=0;i--){
if(a[i]!=0&&temp==0){//第一个不为0,以后的均可输出
cout<<a[i];
temp=1;
}
else if(temp==1){//均可输出
cout<<a[i];
}
//否则跳过
}
return 0;
}
06-29
108