#include<bits/stdc++.h>
using namespace std;
int main(){
char a1[100],b1[100];
int a[100],b[100],c[200],lena=0,lenb=0,lenc=0;
memset(c,0,sizeof(c));
gets(a1);gets(b1);
lena=strlen(a1);lenb=strlen(b1);
for(int i=0;i<lena;i++) a[lena-i]=a1[i]-'0';
for(int i=0;i<lenb;i++) b[lenb-i]=b1[i]-'0';
for(int i=1;i<=lena;i++){
int carry=0;
for(int j=1;j<=lenb;j++){
c[i+j-1]=a[i]*b[j]+carry+c[i+j-1];
carry=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+lenb]=carry;
}
lenc=lena+lenb;
while(c[lenc]==0&&lenc>1) lenc--;
for(int i=lenc;i>=1;i--) cout<<c[i];
return 0;
}
高精度乘法
最新推荐文章于 2022-10-27 19:27:21 发布