#include <iostream> #include <cstring> #include <cstdio> using namespace std; char str1[10000002],str2[10000002],result[10000010]; short add[10000000]; void bignumadd(char str1[],char str2[],char result[]) { long k=0,i,j; long leng1 = strlen(str1); long leng2 = strlen(str2); memset(add,sizeof(add)); for(i=leng1-1,j=leng2-1;i>=0&&j>=0;i--,j--) //做加法操作 { add[k++] = (str1[i]-'0')+(str2[j]-'0'); } if(leng1>leng2) { for(j=i;j>=0;j--) add[k++] = str1[j]-'0'; } else { for(i=j;i>=0;i--) add[k++] = str2[i]-'0'; } for(i=0;i<k;i++)//该进位的进位 { if(add[i]>=10) { add[i+1] += (add[i]/10); add[i]%=10; } } long long l=0; if(add[k]>0)//最高位产生了进位 { for(i=k;i>=0;i--) { result[l++] = add[i]+'0'; } } else { for(i=k-1;i>=0;i--) { result[l++] = add[i]+'0'; } } result[l]='\0'; } int main() { scanf("%s%s",str1,str2); bignumadd(str1,str2,result); printf("%s\n",result); return 0; }