Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
168690 | C班—刘铠锋 | 高精度乘法 | C++ | 通过 | 100 | 1 MS | 276 KB | 602 | 2024-08-20 13:15:29 |
#include <bits/stdc++.h> using namespace std; int main () { string a, b; int A[5001], B[5001], C[5001]; cin >> a >> b; int m = a.length(); int n = b.length(); for (int i = m - 1; i >= 0; i--) { A[m - i] = a[i] - '0'; } for (int i = n - 1; i >= 0; i--) { B[n - i] = b[i] - '0'; } for (int i = 1; i <= m; i++) { for (int j = 1; j <= n; j++) { C[i + j - 1] += A[i] * B[j]; C[i + j] += C[i + j - 1] / 10; C[i + j - 1] %= 10; } } int p = m + n; while (C[p] == 0 && p > 1) { p--; } for (int i = p; i >= 1; i--) { cout << C[i]; } return 0; }