Submission

Status:
PPPPPPPPPP

Score: 100

User: K3

Problemset: I.Quick Math

Language: cpp

Time: 0.006 second

Submitted On: 2024-11-20 19:46:25

#include <bits/stdc++.h>
using namespace std;

string xStr(const string& num1, const string& num2) {
    int n1 = num1.size(), n2 = num2.size();
    string result(n1 + n2, '0');

    for (int i = n1 - 1; i >= 0; i--) {
        for (int j = n2 - 1; j >= 0; j--) {
            int mul = (num1[i] - '0') * (num2[j] - '0');
            int sum = mul + (result[i + j + 1] - '0');
            result[i + j + 1] = sum % 10 + '0';
            result[i + j] += sum / 10;
        }
    }

    size_t start = result.find_first_not_of('0');
    return (start == string::npos) ? "0" : result.substr(start);
}

int main() {
    string num1, num2;
    cin >> num1;
    cin >> num2;

    string result = xStr(num1, num2);
    cout << result << endl;

    return 0;
}