大数运算
Alphacoo
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AcWing 794. 高精度除法(高精度除低精度)
题意 给定两个正整数,计算它们的商和余数。正整数长度的范围是1到100000。 PS:除数不为0. 分析 1.这里是高精度除以低精度,使用的除法运算是我们人类熟悉的。 2.从被除数的高位开始,每个数位都尝试去除以除数,一直到最低位。 3.最后倒序输出商。 代码 高精度除低精度 #include <iostream> using namespace std; const int N = 1e5 + 10; //a[]存储的是A,c[]存储的是A除以B的商 int a[N], c[N]; //原创 2021-06-14 16:19:04 · 470 阅读 · 0 评论 -
AcWing 793. 高精度乘法(高精度乘低精度,高精度乘高精度)
AcWing 793. 高精度乘法 题意 给定两个正整数,计算它们的积。正整数长度的范围是1到100000。 分析 1.高精度乘法分为高精度乘以低精度和高精度乘以高精度。 算法1:高精度乘以低精度 1.从高精度数的低位开始,每一个数位上的数都乘以低精度数, 并把相乘结果存储在相对应的数位。 2.接下来做进位处理,从低位向高位进位。 算法2:高精度乘以高精度 1.随机选择一个高精度数A,使A的每个数位分别与另一个高精度数B的每个数位相乘, 相乘的结果存储到相对应的数位。 2.接下来做进位处理,从低位向高位进位原创 2021-06-14 16:14:35 · 1085 阅读 · 0 评论 -
AcWing 792. 高精度减法(数组模拟,C++)
题意 给定两个正整数,计算它们的差,计算结果可能为负数。 正整数长度的范围是1到100000。 分析 1.先把两个数分别倒序存储在数组中,即最低位在最左边,最高位在最右边。 2.判断A和B哪个数更大,如果A大于B,则计算结果是正数;如果A等于B,则 计算结果是0,;如果A小于B,则计算结果是负数。 3.在进行减法运算时,是从最低位开始相减的;如果A在某个数位上的数比B小, 则A向前一个高位借一个1(即相当于当前数位的10);最后再去掉A的前导零。 4.最后倒序输出。 代码 #include <iost原创 2021-06-14 16:07:46 · 447 阅读 · 0 评论
分享