#include<bits/stdc++.h>
using namespace std;
struct greatint{
int num[2023];
int len;
};
greatint cf(greatint a,greatint b){
greatint res;
for(int i=1;i<=a.len;i++){
for(int j=1;j<=b.len;j++){
res.num[i+j-1]+=a.num[i]*b.num[j];
}
}
res.len=a.len+b.len;
for(int i=1;i<=res.len;i++){
res.num[i+1]+=res.num[i]/10;
res.num[i]%=10;
}
while(res.num[res.len]==0&&res.len>1) res.len--;
return res;
}
string x,y;
greatint m,n;
int main(){
cin>>x>>y;
for(int i=x.size()-1;i>=0;i--){
m.num[x.size()-i]=x[i]-'0';
}
for(int i=y.size()-1;i>=0;i--){
n.num[y.size()-i]=y[i]-'0';
}
m.len=x.size();
n.len=y.size();
for(int i=cf(m,n).len;i>=1;i--){
cout<<cf(m,n).num[i];
}
return 0;
}
看起来和书上没有啥区别。 码风不好,见谅。