关于 模(Mod)运算
模(Mod)
定义
Mod 的含义是 取余
打个比方:
\[\begin{matrix}
(3+4)\bmod 4 = 3 \\
3\times 4\bmod 3 = 0 \\
\end{matrix}
\]
性质
加
\[(A+B)\bmod p = (A \bmod p + B \bmod p) \bmod p
\]
因为 \((A \bmod p + B \bmod p)\) 可能大于 \(p\)
所以需要再模上 \(p\)
减
\[(A-B)\bmod p = (A \bmod p - B \bmod p + p) \bmod p
\]
由于 \((A \bmod p - B \bmod p)\) 可能为负数
所以需要加上 \(p\) 再进行模运算
如果不是负数,因为 \(p \bmod p = 0\) , 所以也不会有影响
乘
\[(A\times B)\bmod p = (A \bmod p \times B \bmod p ) \bmod p
\]
原理同加法
除
注意:\(\frac{A}{B}\bmod p\ne \frac{A \bmod p}{B \bmod p } \bmod p\)
正确性质如下:
\[\frac{A}{B}\bmod p = (A \bmod p \times B^{-1} \bmod p ) \bmod p
\]
原理就是将除法转化为乘法,(\(B^{-1}\) 是 \(B\)的倒数)
其中 \(B^{-1}\) 也被称作 \(B\) 的乘法逆元
求逆元可以参考这篇 blog 求逆元的四种方法
注意:逆元不一定是倒数,是一个整数(因为有取余运算)
总结
\[\begin{matrix}
(A+B)\bmod p = (A \bmod p + B \bmod p) \bmod p \\
(A-B)\bmod p = (A \bmod p - B \bmod p + p) \bmod p \\
(A\times B)\bmod p = (A \bmod p \times B \bmod p ) \bmod p\\
\dfrac{A}{B}\bmod p = (A \bmod p \times B^{-1} \bmod p ) \bmod p
\end{matrix}
\]