摘要: 高精度阶乘其实就是进行了 n 次高精乘以低精,只要高精乘以低精会写,高精度阶乘就没问题。 那么先说一说高精乘以低精吧。 高精乘以低精就是把高精度数的每一位乘以低精度数,然后该位的数就是每一次乘积 mod 10 的余数,而 / 10 得到的数作为进位用的数。(这是在数组中每一个元素只存一位的前提下) 阅读全文
posted @ 2018-03-07 22:24 mrclr 阅读(1388) 评论(4) 推荐(0) 编辑
摘要: 高精度乘法就是把 a 的每一位和 b 相乘。 关键的一件事就是别把积 c 数组 的每一位弄错了,比如用 a 的第 i 位 a[i] 乘以 b[j] ,那么对应的 c 的位数就是 c[i + j] (i,j都是从0开始),列一个竖式就能很直观地看出来了。 还有一件事就是 c 数组的位数问题,一个 n 阅读全文
posted @ 2018-03-07 20:14 mrclr 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: 高精度减法主要考虑这两件事:1.差为负数的情况。2.借位问题。 首先我们考虑一下第一个问题1.怎么解决差为负数 因为高精度就是列竖式模拟,而列竖式是小学学的,我记得那时候还没学负数吧,所以我们就默认用大数减小数,只要在前面输出一个符号就行。 那我们再想一想如何判断两个数大小。首先若位数不等,那位数大 阅读全文
posted @ 2018-03-07 19:42 mrclr 阅读(845) 评论(0) 推荐(0) 编辑