Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
173582 | B班余绮淇 | 高精度乘法 | C++ | 无测评数据 | 0 | 0 MS | 0 KB | 632 | 2024-08-20 21:45:19 |
#include <iostream> using namespace std; int main() { string a,b; int d[5001]={0},e[5001]={0},f[10002]={0}; cin>>a>>b; int len1=a.length(); for(int i=0;i<len1;i++) { d[i]=a[len1-1-i]-'0'; } int len2=b.length(); for(int j=0;j<len2;j++) { e[j]=b[len2-1-j]-'0'; } for(int i=0;i<len1;i++) { for(int j=0;j<len2;j++) { f[i+j]+=d[i]*e[j]; } } int len3=len1+len2-1; for(int i=0;i<len3;i++) { f[i+1]+=f[i]/10; f[i]=f[i]%10; } while(f[len3]) { f[len3+1]+=f[len3]/10; f[len3]=f[len3]%10; len3++; } for(int i=len3-1;i>=0;i--) { cout<<f[i]; } return 0; }