Submission

Status:
PPPPPPPPPP

Score: 100

User: MisterO

Problemset: I.Quick Math

Language: cpp

Time: 0.005 second

Submitted On: 2024-10-14 16:33:58

#include<bits/stdc++.h>
using namespace std;
string multiply(string num1, string num2) {
        if(num1 == "0" || num2 == "0") return "0";
        vector<int> res(num1.size()+num2.size(),0);
        for(int i=num1.size()-1;i>=0;i--){
            for(int j=num2.size()-1;j>=0;j--){
                res[i+j+1] += (num1[i]-'0')*(num2[j]-'0');
                res[i+j] += res[i+j+1]/10;
                res[i+j+1] %= 10;
            }
        }
        int i=0;
        string num;
        while(res[i] == 0) i++;
        while(i<res.size()) num += to_string(res[i++]);
        return num;
    }
int main(){
	string a, b; cin>>a>>b;
	while(a.size()){
		if(a[0] == '0') a.erase(a.begin());
		else break;
	}
	while(b.size()){
		if(b[0] == '0') b.erase(b.begin());
		else break;
	}
	if(a.size()==0||b.size()==0){
		cout<<0;
		return 0;
	}
	cout<<multiply(a,b);
}