一、什么是快速乘法?
快速乘主要是解决乘法可能会爆的情况,快速乘原理就是利用了乘法分配来将ab转化为多个式子相加的形式求解。
当两个大数进行相乘进行取模(a*b%c)时,运算a*b可能会爆long long的范围,这时候就需要用到 快速乘 算法解决算术溢出的问题。
1.乘法容易爆范围,但是由于过程中不断取模,所以加法不会爆范围。
2.在计算机中,加法比乘法计算速度快;快速乘算法的本质是把乘法分解为加法,所以计算速度更快。
二、快速乘法的推演过程
举个案例:求9*14%5的结果
一般思路:
9*14%5
=76%5
=1
快速乘法:
9*14%5
=9*(1110)%5
=9*(2^3+2^2+2^1)%5
=9*(8+4+2)%5
=(72+36+18)%5
=(72%5+36%5+18%5)%5
=(2+1+3)%5
=1
可以发现快速乘法避开了两个数据直接相乘的过程。
1)复杂度O

快速乘法利用乘法分配律将大数乘法转换为加法序列,避免了乘法可能导致的溢出问题,其复杂度为O(logn)。快速幂通过将指数表示为二进制形式,减少计算次数,同样适用于大数幂运算,有常数复杂度和位运算优化的实现方式。
最低0.47元/天 解锁文章
663

被折叠的 条评论
为什么被折叠?



