Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169223 | B班-胡书恒 | 高精度乘法 | C++ | 解答错误 | 96 | 1 MS | 268 KB | 578 | 2024-08-20 15:47:41 |
#include<bits/stdc++.h> using namespace std; int a[2005],b[2005],c[4000005],x,t; int main(){ int k; string a2,b2; cin>>a2; cin>>b2; k=a2.size()+b2.size(); for(int i=0;i<b2.size();i++){ b[i+1]=b2[b2.size()-i-1]-'0'; } for(int i=0;i<a2.size();i++){ a[i+1]=a2[a2.size()-i-1]-'0'; } for(int i=1;i<=a2.size();i++){ x=0; for(int j=1;j<=b2.size();j++){ t=a[i]*b[j]; c[i+j-1]=t%10+x+c[i+j-1]; x=t/10; x+=c[i+j-1]/10; c[i+j-1]%=10; } c[i+b2.size()]=x; }if(c[k]==0) k--; for(int i=k;i>0;i--){ cout<<c[i]; }return 0; }