Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168447 | C班-陈乐 | 高精度乘法 | C++ | 运行出错 | 0 | 29 MS | 708 KB | 801 | 2024-08-20 10:50:05 |
#include <bits/stdc++.h> using namespace std; int ans[100001] = {0}; void Add(int a[],int b[],int la,int lb) { for (int i = 0 ; i < lb ; ++ i) { for(int j = la - 1 ; j >= 0 ; -- j) ans[j + i] = a[j] * b[i]; for(int k = 0 ; ans[k] >= 0 ; ++ k) { ans[k + 1] += ans[k] / 10; ans[k] %= 10; } } } void in(int x[],string str, int len) { for(int i = 0 ; i < len ; i ++) x[len - i - 1] = str[i] - '0'; } int main() { int a[10001] = {0},b[10001] = {0}; string s1,s2; cin >> s1 >> s2; int la = s1.size(); int lb = s2.size(); in(a,s1,la); in(b,s2,lb); Add(a,b,la,lb); int i = 100000; for(; ans[i]==0 && i>0; i--); for(; i>=0; i--) cout << ans[i]; cout << endl; return 0; }