#include <bits/stdc++.h> using namespace std; int a[10000000]={0},b[100000000]={0},c[100000000]={0}; int main() { ? ?string x,y; ? ?int jw; ? ?cin>>x>>y; ? ?int len=max(x.size(),y.size()); ? ?reverse(x.begin(),x.end());//将第一个数翻转。 ? ? ?reverse(y.begin(),y.end());//将第二个数翻转。 ? ?for(int i=0;i<x.size();i++){ ? ??? ?a[i]=x[i]-'0'; ? ?} ? ?for(int i=0;i<y.size();i++){ ? ??? ?b[i]=y[i]-'0'; ? ?} ? ?for(int i=0;i<len;i++){ ? ??? ?c[i]=a[i]+b[i]; ? ??? ?c[i]+=jw; ?? ?jw=c[i]/10; ? ??? ?c[i]%=10; ? ??? ??? ? ? ??? ? ? ?} ? ?if(jw==1){ ? ??? ?c[len]=jw; ? ??? ?len++; ? ?} ? ? ? ?for(int i=len-1;i>=0;i--){//把最后的进位输出。 ? ??? ?cout<<c[i]; ? ?} ?? ?return 0; } //高精度加法应用的是竖式原理,满十进一。
//无上限。?
|