#include<bits/stdc++.h>
using namespace std;
int a[5005],b[5005],c[5005];
int main()
{
string sa,sb;
cin>>sa>>sb;
if(sa=="0"||sb=="0")
{
cout<<0;
return 0;
}
int lena=sa.size(),lenb=sb.size();
for(int i=1;i<=lena;i++)
a[i]=sa[lena-i]-'0';
for(int i=1;i<=lenb;i++)
b[i]=sb[lenb-i]-'0';
for(int i=1;i<=lena;i++)
for(int j=1;j<=lenb;j++)
c[i+j-1]+=a[i]*b[j];
for(int i=1;i<=lena+lenb-1;i++)
{
c[i+1]+=c[i]/10;
c[i]%=10;
}
string sc;
if(c[lena+lenb])
sc+=c[lena+lenb]+'0';
for(int i=lena+lenb-1;i>=1;i--)
sc+=c[i]+'0';
cout<<sc;
return 0;
}
洛谷 A*B(高精)
于 2025-02-14 02:42:58 首次发布