Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
105444 毛泓博(做题专用,大号Fess) 高精度乘法 C++ 解答错误 20 0 MS 264 KB 587 2023-10-06 11:34:34

Tests(6/30):


#include<bits/stdc++.h> using namespace std; string a1,b1; int a[5005]={0},b[5005]={0},s[5005],lena,lenb,lens,x; int main() { cin>>a1>>b1; lena=a1.length(); lenb=b1.length(); lens=max(lena,lenb); for(int i=1;i<=lena;i++) a[i]=a1[lena-i]-48; for(int i=1;i<=lenb;i++) b[i]=b1[lenb-i]-48; for(int i=1;i<=lena;i++) { for(int j=1;j<=lenb;j++) { s[i+j-1]+=a[i]*b[j]+x; if(s[i+j-1]>10) { x=(s[i+j-1]/10); s[i+j-1]%=10; } } } if(s[lens+1]) lens++; while(!s[lens]&&lens>1) lens--; for(int i=lens;i>=1;i--) cout<<s[i]; return 0; }


测评信息: