Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
169092 | 黄*琦 | 高精度乘法 | C++ | 解答错误 | 13 | 1 MS | 268 KB | 568 | 2024-08-20 15:14:01 |
#include<bits/stdc++.h> using namespace std; char ca[5005],cb[5005]; int a[5005],b[5005],c[5005]; int main(){ cin>>ca>>cb; int lena=strlen(ca),lenb=strlen(cb); for(int i=0;i<lena;i++) a[lena-i-1]=ca[i]-'0'; for(int i=0;i<lenb;i++) b[lenb-i-1]=cb[i]-'0'; int k=0,lenc=1; for(int i=0;i<lena;i++,k++){ int s=k; for(int j=0;j<lenb;j++,s++){ c[s]+=a[i]*b[j]; } } for(int i=0;i<lenc;i++){ c[i+1]=c[i]/10; c[i]%=10; if(c[i+1]) lenc++; } while(lenc>1 && c[lenc]==0) lenc--; for(int i=lenc-1;i>=0;i--) cout<<c[i]; return 0; }