本文共 1006 字,大约阅读时间需要 3 分钟。
题目链接:
时/空限制:1s / 64MB给定两个正整数,计算它们的和。
共两行,每行包含一个整数。
共一行,包含所求的和。
1≤整数长度≤100000
12
23
35
题意:计算两个大数的和。
思路:直接上大数模板。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 100005;char sa[MAXN], sb[MAXN];// C = A + B, A >= 0, B >= 0vector Add(vector A, vector B) { if (A.size() < B.size()) return Add(B, A); vector C; int t = 0; for (int i = 0; i < A.size(); i++) { t += A[i]; if (i < B.size()) t += B[i]; C.push_back(t % 10); t /= 10; } if (t) C.push_back(t); return C;}int main() { vector spa, spb, spc; scanf("%s%s", sa, sb); for (int i = strlen(sa) - 1; ~i; i--) spa.push_back(sa[i] - '0'); for (int i = strlen(sb) - 1; ~i; i--) spb.push_back(sb[i] - '0'); spc = Add(spa, spb); for (int i = spc.size() - 1; ~i; i--) printf("%d", spc[i]); printf("\n"); return 0;}
转载地址:http://fybtf.baihongyu.com/