Description 求两个大的正整数相减的差。 Input 共2行,第1行是被减数a,第2行是减数b(a > b)。每个大整数不超过200位,不会有多余的前导零。 Output 一行,即所求的差。 Sample Input 9999999999999999999999999999999999999 9999999999999 Sample Output 9999999999999999999999990000000000000
AC Code:
#include <iostream> #include <string> using namespace std; string a, b; int main(int argc, char** argv) { int i, l; cin >> a >> b; if (a == b) { cout << 0 << endl; return 0; } l = a.size() - b.size(); for (i = 1; i <= l; i++) { b = "0" + b; } for (i = a.size() - 1; i >= 0; i--) { a[i] = a[i] - b[i] + '0'; if (a[i] < '0') { a[i] += 10; if (i) { a[i-1]--; } } } i = 0; while (a[0] == '0') { a.erase(0, 1); } cout << a << endl; return 0; }