浅谈分数取模

费马小定理 | 欧拉定理 | 扩展欧几里得

Posted by TH911 on November 27, 2024

费马小定理

定理

若 $p$ 为质数且 $\gcd(a,p)=1$,有 $a^{p-1}\equiv1\pmod p$,即 $a^p\equiv a\pmod p$。

证明

取一质数 $p$ 和整数 $a$ 满足 $\gcd(a,p)=1$,即 $a$ 不为 $p$ 的倍数。

则有: \(\prod\limits_{i=1}^{p-1}i\equiv\prod\limits_{i=1}^{p-1}(a\cdot i)\pmod p\)

证明

因为 $\gcd(i,p)=\gcd(a\cdot i,p)=1$,且 $a\cdot i\bmod p$ 是独一无二的,因此每一个 $i$ 都对应了一个 $a\cdot i$,且 $a\cdot i$ 互不相同

又因为 $1\leq i\leq p-1,1\leq a\cdot i\bmod p\leq p-1$,因此,对于每一个 $i$ 都存在 $j$ 满足 $i\equiv a\cdot j\pmod p$。

故,原式成立:

$$ \prod_{i=1}^{p-1}i\equiv\prod_{i=1}^{p-1}(a\cdot i)\pmod p $$

令 $f=\prod\limits_{i=1}^{p-1}i$,则:

\[\begin{aligned} f&\equiv\prod\limits_{i=1}^{p-1}(a\cdot i)\\ &\equiv a^{p-1}\prod_{i=1}^{p-1}i\\ &\equiv a^{p-1}\cdot f \end{aligned} \pmod p\]

即:$a^{p-1}\equiv1$。

证毕。

应用

求 $\dfrac ab\bmod p$,保证 $p$ 为质数。

这是个好问题。

对于整数 $a$,让其对 $p$ 取模,求 $a\bmod p$,a%p 即可。

但如果要求 $\dfrac ab\bmod p$ 呢?

这似乎就无解了,但是我们转换一下变成:

\[a\times b^{-1}\bmod p\]

现在我们再来考虑。


由费马小定理得:$b^{p-1}\equiv 1\pmod p$。

那么 $b^{p-2}\equiv b^{-1}\pmod p$

那么,在模 $p$ 意义下,有 $a\times b^{-1}\bmod p=a\times b^{p-2}\bmod p$。

结合快速幂 $\mathcal O(\log p)$ 计算即可。


注意,此时 $b$ 不能为 $p$ 的倍数

欧拉定理

定理

若 $\gcd(a,p)=1$,则 $a^{\varphi(p)}\equiv 1\pmod p$。

证明

其实与费马小定理的证明非常相似。

设序列 $\langle r_1,r_2,r_3,\cdots,r_{\varphi(p)}\rangle$ 满足 $r_i=i\bmod p$。

则有:

\[\prod_{i=1}^{\varphi(p)}r_i\equiv\prod_{i=1}^{\varphi(p)}(a\cdot r_i)\pmod p\]

即:

\[a^{\varphi(p)}\equiv1\pmod p\]

应用

当 $p$ 为素数时,有 $\varphi(p)=p-1$,即费马小定理。

扩展欧几里得算法

详见此处