AcWing - 高精度除法(大数除法)
发布日期:2021-07-01 00:21:49 浏览次数:2 分类:技术文章

本文共 991 字,大约阅读时间需要 3 分钟。

题目链接:

时/空限制:1s / 64MB

题目描述

给定两个正整数A,B,请你计算 A / B的商和余数。

输入格式

共两行,第一行包含整数A,第二行包含整数B。

输出格式

共两行,第一行输出所求的商,第二行输出所求余数。

数据范围

1≤A的长度≤100000,

1≤B≤10000

输入样例

7

2

输出样例

3

1

解题思路

题意:给你两个数,输出它们的商和余数。

思路:因为是高精度除以单精度,所以直接就可以模拟。

Accepted Code:

/*  * @Author: lzyws739307453  * @Language: C++  */#include 
using 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;}

转载地址:https://lzyws739307453.blog.csdn.net/article/details/99850718 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:AcWing - 前缀和(前缀和)
下一篇:AcWing - 高精度乘法(大数乘法)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年05月01日 17时35分06秒