#include<bits/stdc++.h>
using namespace std;
#define ll long long int
vector<int>m,n;
void mul(string s,string u,vector<int> &p){
int count=0;
for(int i=s.length()-1;i>=0;i--){
int a=stoi(s.substr(i,1));
int ac=0;
vector<int>q;
for(int j=0;j<count;j++){
q.push_back(0);
}
count++;
for(int j=u.length()-1;j>=0;j--){
int b=stoi(u.substr(j,1));
int ans=(a*b+ac)%10;
ac=(a*b+ac)/10;
q.push_back(ans);
}
q.push_back(ac);ac=0;
int cha=q.size()-p.size();
for(int i=0;i<cha;i++){
p.push_back(0);
}
for(int i=0;i<q.size();i++){
int temp=p[i]+q[i]+ac;
p[i]=(temp)%10;
ac=(temp)/10;
}
if(ac!=0){
p.push_back(ac);
}
}
}
void printnum(vector<int> p){
int i=p.size()-1;
while(p[i] == 0){
i--;
}
while(i >= 0){
cout<<p[i];
i--;
}
}
int main(){
string a,b;
cin>>a>>b;
for(int i=0;i<a.length();i++){
m.push_back(0);
}
for(int i=0;i<b.length();i++){
n.push_back(0);
}
mul(a,b,m);
printnum(m);
}
最终的结果储存在一个vector数组中,s和u分别是两个乘数。