博客园  :: 首页  :: 管理

模运算的乘法性质:在计算机算法和编程领域,通常直接这样称呼。

它表明在进行大数乘法取模时,可以先分别对乘数取模,相乘后再取模,结果与直接相乘后取模是等价的。

(a×b)≡[(a mod m) × (b mod m)](mod m)

也即 a×b 的结果对m取模, 结果是等于 ,(a对m取模的结果  * b对m取模的结果 )的结果再对m 取模

再简单的说,也就是 (a*b) 除以 m 的 余数  是等于  [(a除以m的余数) * (b除以m的余数)] 的结果再除以m 的 余数

 

这个公式的核心作用:

在计算机编程中,当 a 和 b 是非常庞大的数字时,直接计算 a×b 极易导致整数溢出(超出数据类型能表示的最大范围)。利用这个公式,可以先将

a和 b 缩小到 m 的范围内再进行乘法,从而完美避免中间结果溢出的问题,这在密码学(如RSA算法)和算法竞赛中极其常用。

尤其是编程中, pow(a,b,m) 这样的 模幂运算(Modular Exponentiation),其核心就是用到了上面的公式

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/20315136