考察的大数加法,王道书上说是高精度整数
没有采用他给的板子,直接用字符串按照规则进行加法运算。
#include<iostream> #include<string> #include<algorithm> using namespace std; string addString(string a,string b) { string res; int carry=0; int i=a.size()-1; int j=b.size()-1; while(i>=0 && j>=0) { int num=carry+a[i]-'0'+b[j]-'0'; res+=num%10+'0'; carry=num/10; i--;j--; } while(i>=0) { int num=carry+a[i]-'0'; res+=num%10+'0'; carry=num/10; i--; } while(j>=0) { int num=carry+b[j]-'0'; res+=num%10+'0'; carry=num/10; j--; } if(carry>0) res+=to_string(carry); reverse(res.begin(),res.end()); return res; } int main() { string a,b; while(cin>>a>>b) { cout<<addString(a,b)<<endl; } return 0; }