Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
168877 李澄 高精度乘法 C++ 通过 100 1 MS 272 KB 819 2024-08-20 14:01:34

Tests(30/30):


#include <bits/stdc++.h> #include <cstring> using namespace std; char as[1005], bs[1005]; int ans[2010], a[1005], b[1005]; int main() { cin >> as >> bs; int lena = strlen(as); int lenb = strlen(bs); for (int i = 0; i <= lena - 1; i++) { a[lena - i - 1] = as[i] - 48; } for (int i = 0; i <= lenb - 1; i++) { b[lenb - i - 1] = bs[i] - 48; } int in = 0; for (int j = 0; j <= lenb-1; j++) { for (int i = 0; i <= lena-1; i++) { ans[i + j] = a[i] * b[j] + in + ans[i+j]; in = ans[i + j] / 10; ans[i + j] %= 10; } ans[lena + j] = in; in = 0; } int ansl = lena + lenb; while (ans[ansl-1] == 0 && ansl > 1) { ansl--; } for (int i = ansl - 1; i >= 0; i--) { cout << ans[i]; } cout << endl; return 0; }


测评信息: