Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
168686 詹钧尧 高精度乘法 C++ 通过 100 0 MS 264 KB 767 2024-08-20 13:11:38

Tests(30/30):


#include<cstdio> #include<iostream> #include<cmath> #include<cstring> using namespace std; const int maxn =( 1e3 *5)+5; char a1[maxn], b1[maxn]; int a[maxn], b[maxn], c[2 * maxn]; int main() { gets(a1); gets(b1); int la = strlen(a1), lb = strlen(b1); for(int i = 0; i < la; ++i) a[i] = a1[la - i - 1] - '0'; for(int i = 0; i < lb; ++i) b[i] = b1[lb - i - 1] - '0'; for(int i = 0; i < la; ++i) { for(int j = 0; j < lb; ++j) { c[i + j] += a[i] * b[j]; c[i + j + 1] += c[i + j] / 10; c[i + j] %= 10; } } int lc = la + lb; while(c[lc] == 0 && lc > 0) lc--; for(int i = lc; i >= 0; --i) printf("%d", c[i]); printf("\n"); return 0; }


测评信息: