【算法分析】
本代码是“高精度×高精度”。
【算法代码】
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int a[maxn], b[maxn], c[maxn<<1];
void hiMul(string s1,string s2) {
int la=s1.size(), lb=s2.size();
for(int i=0; i<la; i++) a[la-1-i]=s1[i]-'0';
for(int i=0; i<lb; i++) b[lb-1-i]=s2[i]-'0';
for(int i=0; i<la; i++) {
for(int j=0; j<lb; j++) {
c[i+j]+=a[i]*b[j];
c[i+j+1]+=c[i+j]/10;
c[i+j]%=10;
}
}
int len=la+lb;
while(c[len]==0 && len>0) len--;
for(int i=len; i>=0; i--) cout<<c[i];
}
int main() {
string s1,s2;
cin>>s1>>s2;
hiMul(s1,s2);
return 0;
}
/*
in:
2 3
out:
6
*/