Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168237 | 陈道宁 | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 296 KB | 581 | 2024-08-20 08:41:52 |
#include<bits/stdc++.h> using namespace std; int a[5005],b[5005],c[5005],lc,la,lb; string x,y; int main(){ cin>>x>>y; la=x.size(); for(int i=0;i<la;i++){ a[i]=x[la-1-i]-'0'; } lb=y.size(); for(int i=0;i<lb;i++){ b[i]=y[lb-1-i]-'0'; } for(int i=0;i<la;i++){ for(int j=0;j<lb;j++){ c[i+j]+=a[i]*b[j]; } } int g=0; for(int i=0;i<5003;i++){ c[i]+=g; g=0; while(c[i]>=10){ c[i]-=10; g++; } } lc=5004; while(c[lc]==0){ lc--; if(lc<1){ break; } } lc++; for(int i=lc-1;i>=0;i--){ cout<<c[i]; } }