同余
同余
定义
若整数 \(a, b\) 除以正整数 \(m\) 的余数相等,则称 \(a, b\) 模 \(m\) 同余,记为 \(a \equiv b (\bmod m)\)。
同余类和剩余系
对于 \(\forall a \in [0, m - 1]\),集合 \(\{ a + km \}(k \in \mathbb{Z})\) 的所有数模 \(m\) 同余,余数都为 \(a\),该集合成为一个模 \(m\) 的同余类,记为 \(\overline{a}\)。
模 \(m\) 的同余类共有 \(m\) 个,分别为 \(\overline{0}, \overline{1}, \overline{2}, \dots, \overline{m - 1}\)。它们构成 \(m\) 的 完全剩余系。
\(1 \sim m\) 中与 \(m\) 互质的数代表的同余类共有 \(\varphi(m)\) 个,它们构成 \(m\) 的 简化剩余系。如,模 \(\{ \overline{1}, \overline{3}, \overline{7}, \overline{9} \}\)。
简化剩余系关于模 \(m\) 乘法封闭。这是因为如果 \(a, b(1 \leq a, b \leq m)\) 与 \(m\) 互质,则 \(a \times b\) 也不可能与 \(m\) 含有相同的质因子,即 \(a \times b\) 也与 \(m\) 互质。由余数的定义可得到 \(a \times b \bmod m\) 也与 \(m\) 互质,即 \(a \times b \bmod m\) 也属于 \(m\) 的简化剩余系。
乘法封闭指在一个集合中任意两个元素进行乘法运算,得到的结果还在这个集合中。例如对于集合 \(\mathbb{R}\),任意两个数的乘积都还在集合内,所以集合 \(\mathbb{R}\) 是乘法封闭的。
费马小定理
欧拉定理
Proof
设 \(n\) 的化简剩余系为 \(\{ \overline{a_1}, \overline{a_2}, \dots, \overline{\varphi(n)} \}\)。对于 \(\forall a_i, a_j\),若 \(a \cdot a_i \equiv a \cdot a_j (\bmod n)\),则 \(a \times (a_i - a_j) \equiv 0\)。因为 \(a \perp n\),所以 \(a_i - a_j \equiv 0\),即 \(a_i \equiv a_j\)。所以当得到 \(a_i \neq a_j\) 时,\(a \cdot a_i, a \cdot a_j\) 也表示不同的同余类。
并且简化剩余系关于模 \(n\) 乘法封闭,故 \(\overline{a a_i}\) 也在简化剩余系集合中。因此,集合 \(\{ \overline{a_1}, \overline{a_2}, \dots, \overline{a_{\varphi(n)}} \}\) 与集合 \(\{ \overline{aa_1}, \overline{aa_2}, \dots, \overline{aa_{\varphi(n)}} \}\) 都能表示 \(n\) 的简化剩余系。综上所述:
然后我们抽出第一项和最后一项,约掉 \(a_1 a_2 \dots a_{\varphi(n)}\) 得到:
然后根据上次我们在欧拉函数中学习的内容:
所以当 \(p \in \mathbb{P}\) 时,我们发现只有 \(p\) 的倍数与 \(p\) 不互质,所以只要 \(a\) 不是 \(p\) 的倍数,就有 \(a^{p - 1} \equiv 1 (\bmod p)\),然后我们两边同乘 \(a\) 就是 \(a^p \equiv a (\bmod p)\),另外,若 \(a\) 是 \(p\) 的倍数,费马小定理显然成立。
欧拉定理推论
若 \(a \perp n\),则对于任意 \(b \in \mathbb{Z}^{+}\),有 \(a^b \equiv a^{b \bmod \varphi(n)} (\bmod n)\)。
对于任意 \(a, n\) 不一定互质且 \(b \gt \varphi(n)\) 的情况,我们有 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} (\bmod n)\)。
这是非常常用的技巧,对于不少要求模质数 \(P\) 之后再输出答案的计数题,我们是可以在面对 \(a + b, a - b, a \times b\) 这样的算式的时候先把 \(a, b\) 对 \(p\) 取模来计算的,对于形如 \(a^b\) 的乘方问题,可以把底数对 \(p\) 取模、指数对 \(\varphi(n)\) 取模,再计算乘方。
当然其实欧拉定理还有一个比较常用的推论:
对于 \(a, n \in \mathbb{Z}^{+}\),若 \(a \perp n\),则 \(a^x \equiv 1 (\bmod n)\) 的最小正整数 \(x_0\) 为 \(\varphi(n)\) 的约数。