Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
173590 B班-陈曦 高精度乘法 C++ 无测评数据 0 0 MS 0 KB 690 2024-08-20 21:51:52

Tests(0/0):


#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; }