题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
#include <iostream> using namespace std; int main() { string s1,s2; getline(cin,s1); getline(cin,s2); int k1 = s1.size() - 1; int k2 = s2.size() - 1; int mark = 0; string result0; while (k1 > -1 || k2 >-1) { int a = 0, b =0; if(k1 > -1)a = s1[k1] - '0'; if(k2 > -1)b = s2[k2] - '0'; int sum = a + b + mark; if (sum >= 10) { mark = 1; } else { mark = 0; } sum = sum%10; result0 += sum + '0'; k1--; k2--; } if(mark) result0 += '1'; for (int i = result0.size()-1 ; i >= 0; i--) { cout<<result0[i]; } cout<<endl; } // 64 位输出请用 printf("%lld")