洛谷 1303. 高精度乘高精度
原题链接
简单
作者:
史一帆
,
2021-04-21 20:58:06
,
所有人可见
,
阅读 267
#include <iostream>
#include <string>
using namespace std;
const int N = 100010;
string a, b;
int A[N], B[N], C[N];
int la, lb;
int main()
{
cin >> a >> b;
for (int i = a.size() - 1; i >= 0; i -- ) A[la ++] = a[i] - '0';
for (int i = b.size() - 1; i >= 0; i -- ) B[lb ++] = b[i] - '0';
int len = la + lb;
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;
}
}
while (len > 1 && C[len - 1] == 0) len --;
for (int i = len - 1; i >= 0; i --) cout << C[i];
return 0;
}