#include <iostream> #include<string> using namespace std; string add(string s1,string s2) { string s0; int c=0; if(s1.size()<s2.size()) { string ss; ss=s1; s1=s2; s2=ss; } int len1=s1.size()-1,len2=s2.size()-1; while(len1>=0) { char m; if(len2>=0) { int a=(s1[len1]-48)+(s2[len2]-48)+c; c=a/10; a=a%10; m=a+48; s0.insert(0,m); len1--; len2--; } else { int b=s1[len1]-48+c; c=b/10; b=b%10; m=b+48; s0.insert(0,m); len1--; } } if(c!=0) { s0.insert(0,c+48); } return s0; } int main() { string s1,s2; cin>>s1>>s2; string s0=add(s1,s2); cout<<s0<<endl; return 0; }
效率可能不是很高