题解 | #高精度整数加法#
高精度整数加法
https://www.nowcoder.com/practice/49e772ab08994a96980f9618892e55b6
// HJ57-2 高精度整数加法.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 #include<iostream> #include<bits/stdc++.h> using namespace std; typedef long long ll; int main() { string s1, s2; vector<int>dp; while (cin >> s1 >> s2) { int m = s1.size(), n = s2.size(); if (m < n) { string tmp = s1; s1 = s2; s2 = tmp; } m = s1.size(), n = s2.size(); for (int i = 0; i < m - n; i++) { s2.insert(s2.begin(), '0'); } int num = 0, jie = 0; for (int i = m - 1; i >= 0; i--) { num = s1[i] - '0' + s2[i] - '0'+jie; if (num >= 10) { jie = 1; num = num % 10; } else { jie = 0; } dp.insert(dp.begin(), num); } if (jie) { dp.insert(dp.begin(), 1); } for (auto c : dp) { cout << c; } cout << endl; dp.clear(); //cout << s1 << " " << s2 << endl; } return 0; }