高精度乘法
#include<iostream> #include<cstdio> #include<cmath> #include<algorithm> #include<iomanip> using namespace std; int a[11000],b[11000],lena,lenb,ans[110000]; int main() { string m1,m2; cin>>m1; cin>>m2; lena=m1.length(); lenb=m2.length(); for(int i=0;i<lena;i++) { a[i]=m1[i]-48; } for(int i=0;i<lenb;i++) { b[i]=m2[i]-48; } reverse(a,a+lena); reverse(b,b+lenb); int c=lena+lenb-1; for(int i=0;i<lena;i++) for(int j=0;j<lenb;j++) { ans[i+j]+=a[i]*b[j]; } for(int k=0;k<c;k++) { if(ans[k]>9) { ans[k+1]+=ans[k]/10; ans[k]%=10; } } if(ans[c]>0) c++; for(int i=c-1;i>=0;i--) cout<<ans[i]; return 0; }