Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168846 | 国际新闻 | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 264 KB | 684 | 2024-08-20 13:51:21 |
#include<iostream> #include<cmath> using namespace std; const int mn=(1e3 *2)+10; string a1,b1; int a[mn],b[mn],c[2*mn]; int main(){ cin>>a1>>b1; int d,e; d=a1.size(); e=b1.size(); for(int i=0;i<a1.size();i=i+1){ a[i]=a1[d-i-1]-48; } for(int i=0;i<b1.size();i=i+1){ b[i]=b1[e-i-1]-48; } for(int i=0;i<d;i=i+1){ for(int j=0;j<e;j=j+1){ c[i+j]=c[i+j]+a[i]*b[j]; c[i+j+1]=c[i+j+1]+c[i+j]/10; c[i+j]=c[i+j]%10; } } int f=d+e; while(c[f]==0 && f>0){ f=f-1; } for(int i=f;i>=0;i=i-1){ cout<<c[i]; } return 0; }