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);
}