提交时间:2024-08-20 21:51:52

运行 ID: 173590

#include <bits/stdc++.h> using namespace std; char s1[5001],s2[5001]; int a[5001],b[5001],c[5001]; void Mul(int a[],int b[],int m,int n) { for(int i=0;i<n;++i) { for(int j=m-1;j>=0;--j) c[j+i]+=b[i]*a[j]; for(int k=0;c[k]>=0;++k){ c[k+1]+=c[k]/10; c[k]%=10; } } } void Init(int x[],char str[],int len) { for(int i=0; i<len; i++) x[len-i-1]=str[i]-'0'; } void Output(int ans[]) { int i=5001-1; for(; ans[i]==0 && i>0; --i); for(; i>=0; --i) cout<<ans[i]; } int main() { cin>>s1>>s2; int m=strlen(s1); int n=strlen(s2); Init(a,s1,m); Init(b,s2,n); Mul(a,b,m,n); Output(c); return 0; }