本文共 991 字,大约阅读时间需要 3 分钟。
题目链接:
时/空限制:1s / 64MB给定两个正整数A,B,请你计算 A / B的商和余数。
共两行,第一行包含整数A,第二行包含整数B。
共两行,第一行输出所求的商,第二行输出所求余数。
1≤A的长度≤100000,
1≤B≤100007
2
3
1
题意:给你两个数,输出它们的商和余数。
思路:因为是高精度除以单精度,所以直接就可以模拟。Accepted Code:
/* * @Author: lzyws739307453 * @Language: C++ */#includeusing namespace std;const int MAXN = 100005;char sa[MAXN];// A / b = C ... r, A >= 0, b > 0vector Div(vector A, int b, int &r) { r = 0; vector C; for (int i = A.size() - 1; ~i; i--) { r = r * 10 + A[i]; C.push_back(r / b); r %= b; } reverse(C.begin(), C.end()); while (C.size() > 1 && !C.back()) C.pop_back(); return C;}int main() { int sb, r; vector spa, spc; scanf("%s%d", sa, &sb); for (int i = strlen(sa) - 1; ~i; i--) spa.push_back(sa[i] - '0'); spc = Div(spa, sb, r); for (int i = spc.size() - 1; ~i; i--) printf("%d", spc[i]); printf("\n%d\n", r); return 0;}
转载地址:http://cybtf.baihongyu.com/