「乘法逆元」 学习笔记

若$ab ≡ 1 (mod p)$,则称$b$是$mod p$意义下$a$的乘法逆元,可记为$a^{-1}$

定义反过来也是成立的,即$a$是$mod p$意义下$b$的乘法逆元

乘法逆元

意义

模运算中的除法是不符合四则运算法则的,然而加减乘都符合。所以数学家们利用乘法逆元来完成除法的需求。

例如有同余方程$a * b ≡ c ( mod p )$,若要消去$b$,可乘上$b$在模$p$意义下的乘法逆元$b^{-1}$,由于$b * b^{-1} ≡ 1 ( mod p )$,因此$a ≡ c * b^{-1} ( mod p )$

扩展欧几里得算法

直接求解此同余方程$a*b ≡ 1  ( mod p )$即可

欧拉定理

由于$a^{φ(n)} ≡ 1  ( mod p )$,故任意的$a$的逆元可以是$a^{φ(n)-1}$

线性递推

当要求解$1...N$每个数的逆元(模意义相同)时,采用线性递推最为高效

设此时模意义为$p$,可以将$p$表示为$p = k * i + r$

显然$$k * i + r ≡ 0 ( mod p )$$

两边同时乘以$i^{-1} * r^{-1}$可得$$k * i * i^{-1} * r ^ {-1} + r * i^{-1} * r^{-1} ≡ 0 ( mod p )$$$$k * r^{-1} + i^{-1} ≡ 0 ( mod p )$$

移项即可$$ i^{-1} ≡ -k * r^{-1}  ( mod p )$$

其意义也就是$$i^{-1} ≡ -left lfloor dfrac{p}{i} ight floor * (p \% i)^{-1}  ( mod p )$$

这就是递推公式了

原文地址:https://www.cnblogs.com/qixingzhi/p/9332813.html