在#include<iostream>
#include<cstring>
using namespace std;
string a,b;
int x[2005],y[2005];
int z[4000005];
int main(){
cin>>a>>b;
if((a.length()==1&&a[0]=='0')||(b.length()==1&&b[0]=='0')){
cout<<0;
return 0;//特判(因为我懒
}
for(int i=a.length()-1,j=1;i>=0;i--)
x[j++]=a[i]-'0';
for(int i=b.length()-1,j=1;i>=0;i--)
y[j++]=b[i]-'0';
for(int i=1;i<=a.length();i++){
for(int j=1;j<=b.length();j++){
z[j+i-1]+=x[i]*y[j];
int s=j+i-1;
while(z[s]>=10){
z[s+1]+=z[s]/10;
z[s]%=10;
s++;//进位
}
}
}
int cnt=4000005;
while(!z[cnt]){
cnt--;
}
for(int i=cnt;i;i--) cout<<z[i];
return 0;
}
高精乘模版
最新推荐文章于 2022-10-13 18:40:07 发布