本文共 887 字,大约阅读时间需要 2 分钟。
题目链接:
时/空限制:1s / 64MB给定两个正整数A和B,请你计算A * B的值。
共两行,第一行包含整数A,第二行包含整数B。
共一行,包含A * B的值。
1≤A的长度≤100000,
1≤B≤100002
3
6
题意:求一个大整数和一个整数的乘积。
思路:高精度乘单精度模板。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 100005;char sa[MAXN];// C = A * b, A >= 0, b > 0vector Mul(vector A, int b) { vector C; int t = 0; for (int i = 0; i < A.size() || t; i++) { if (i < A.size()) t += A[i] * b; C.push_back(t % 10); t /= 10; } return C;}int main() { int sb; vector spa, spc; scanf("%s%d", sa, &sb); for (int i = strlen(sa) - 1; ~i; i--) spa.push_back(sa[i] - '0'); spc = Mul(spa, sb); for (int i = spc.size() - 1; ~i; i--) printf("%d", spc[i]); printf("\n"); return 0;}
转载地址:http://dybtf.baihongyu.com/