模与同余

  • \(a \equiv b \pmod n \Leftrightarrow (a - b) \bmod n = 0 \Leftrightarrow n | (a - b)\)
  • \(a\bmod n < n\)
  • \((a \pm b) \bmod n = ((a \bmod n) \pm (b \bmod n)) \bmod n\)
  • \((a \cdot b) \bmod = ((a \bmod n) \cdot (b \bmod n)) \bmod n\)
  • \(a \equiv b \pmod n, c \equiv d \pmod n \Rightarrow (a \pm c) \equiv (b \pm d) \pmod n\)
  • \(a \equiv b \pmod n, c \equiv d \pmod n \Rightarrow ac \equiv bd \pmod n\)
  • \(ac \equiv bc \pmod n \Rightarrow a \equiv b \pmod{\frac{n}{\gcd(n, c)}}\)
  • \(k \in \mathbb{N}_+, a \equiv b \pmod n \Rightarrow a^k \equiv b^k \pmod n\)
  • \(k\in \mathbb{N}_+,a \bmod n = (a \bmod kn) \bmod n\)
  • \(k|a,\frac{a}{k} \bmod n = \frac{a \bmod kn}{k}\)
  • \(a>n,a \bmod n < \frac{a}{2}\)
  • 欧拉定理及推论、费马小定理
  • 三种方法求逆元
  • 龟速乘

定义

模:设 \(a\) 为整数,\(n\) 为正整数,定义

\[a \bmod n = \begin{cases} a - \lfloor \frac{a}{n} \rfloor n & a \geq 0 \\ -(-a \bmod n) & a < 0 \end{cases} \]

这与 C++ 中的取模运算符的行为一致。

同余:若,\((a - b) \bmod n = 0\),则称 \(a\)\(b\) 在模 \(n\) 的意义下同余,记作

\[a \equiv b \pmod n \]

\(a \equiv b \pmod n \Leftrightarrow (a - b) \bmod n = 0 \Leftrightarrow n | (a - b)\)

\(a,b\) 均为正整数时,此式等价于 \(a\bmod n = b\bmod n\)

无特别说明,以下与模、同余相关的数均是非负整数。

性质

性质 1

\[a \bmod n < n \]

证明:

假设 \(a \bmod n \geq n\),则

\[\begin{aligned} a \bmod n & \geq n \\ a - \lfloor \frac{a}{n} \rfloor n & \geq n \\ a & \geq n + \lfloor \frac{a}{n} \rfloor n \\ a & \geq n \cdot (\lfloor \frac{a}{n} \rfloor + 1) \\ \frac{a}{n} & \geq \lfloor \frac{a}{n} \rfloor + 1 \\ \end{aligned} \]

\((1)\) 式。设 \(\frac{a}{n} = x + p, x \in N, p \in [0, 1)\)。则

\[\begin{aligned} \frac{a}{n} & \geq \lfloor \frac{a}{n} \rfloor + 1 \\ x + p & \geq \lfloor x + p \rfloor + 1 \\ x + p & \geq x + 1 \\ p & \geq 1 \end{aligned} \]

,与 \(p \in [0, 1)\) 矛盾,故原命题成立。

根据性质 \(1\),对于 \(a \bmod n\) 可以设 \(a = k \cdot n + z, z < n\),则 \(z = a \bmod n, k = \lfloor\frac{a}{n}\rfloor\)

性质 2

\[(a \pm b) \bmod n = ((a \bmod n) \pm (b \bmod n)) \bmod n \]

证明:

\[\begin{aligned} RHS &= a -\lfloor \frac{a}{n} \rfloor n \pm (b - \lfloor \frac{b}{n} \rfloor n) - \lfloor \frac{a -\lfloor \frac{a}{n} \rfloor n \pm (b - \lfloor \frac{b}{n} \rfloor n) \rfloor}{n} \rfloor n \\ &= a -\lfloor \frac{a}{n} \rfloor n \pm b \mp \lfloor \frac{b}{n} \rfloor n - \lfloor \frac{a -\lfloor \frac{a}{n} \rfloor n \pm b \mp \lfloor \frac{b}{n} \rfloor n}{n} \rfloor n \\ &= a \pm b - \lfloor \frac{a}{n} \rfloor n \mp \lfloor \frac{b}{n} \rfloor n - \lfloor \frac{a \pm b -\lfloor \frac{a}{n} \rfloor n \mp \lfloor \frac{b}{n} \rfloor n}{n} \rfloor n \\ &= a \pm b - n(\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) - \lfloor \frac{a \pm b - n(\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor)}{n} \rfloor n \\ &= a \pm b - n(\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) - \lfloor \frac{a \pm b}{n} - (\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) \rfloor n \\ &= a \pm b - n(\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) - \lfloor \frac{a \pm b}{n}\rfloor + \lfloor\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor \rfloor n \\ &= a \pm b - n(\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) - \lfloor \frac{a \pm b}{n}\rfloor + (\lfloor \frac{a}{n} \rfloor \mp \lfloor \frac{b}{n} \rfloor) n \\ &= a \pm b - \lfloor \frac{a + b}{n} \rfloor n \\ &= LHS \end{aligned} \]

则原命题得证。

性质 3

\[(a \cdot b) \bmod = ((a \bmod n) \cdot (b \bmod n)) \bmod n \]

证明:

\[\begin{aligned} RHS &= (a - \lfloor\frac{a}{n}\rfloor n)(b - \lfloor\frac{b}{n}\rfloor n) - \lfloor \frac{(a - \lfloor\frac{a}{n}\rfloor n)(b - \lfloor\frac{b}{n}\rfloor n)}{n} \rfloor n \\ &= ab - \lfloor\frac{a}{n}\rfloor bn - \lfloor\frac{b}{n}\rfloor an + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2 - \lfloor \frac{ab - \lfloor\frac{a}{n}\rfloor bn - \lfloor\frac{b}{n}\rfloor an + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2}{n} \rfloor n \\ &= ab - \lfloor\frac{a}{n}\rfloor bn - \lfloor\frac{b}{n}\rfloor an + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2 - \lfloor \frac{ab}{n} - \lfloor\frac{a}{n}\rfloor b - \lfloor\frac{b}{n}\rfloor a + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n\rfloor n \\ &= ab - \lfloor\frac{a}{n}\rfloor bn - \lfloor\frac{b}{n}\rfloor an + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2 - \lfloor\frac{ab}{n}\rfloor n + \lfloor\lfloor\frac{a}{n}\rfloor b \rfloor n + \lfloor\lfloor\frac{b}{n}\rfloor a \rfloor n - \lfloor\lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n\rfloor n \\ &= ab - \lfloor\frac{a}{n}\rfloor bn - \lfloor\frac{b}{n}\rfloor an + \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2 - \lfloor\frac{ab}{n}\rfloor n + \lfloor\frac{a}{n}\rfloor bn + \lfloor\frac{b}{n}\rfloor an - \lfloor\frac{a}{n}\rfloor\lfloor\frac{b}{n}\rfloor n^2 \\ &= ab - \lfloor\frac{ab}{n}\rfloor n \\ &= LHS \end{aligned} \]

则原命题得证。

性质 4

\[a \equiv b \pmod n, c \equiv d \pmod n \Rightarrow (a \pm c) \equiv (b \pm d) \pmod n \]

证明:

\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)

\(c \equiv d \pmod n \Leftrightarrow n | (c - d)\)

\((a \pm c) \equiv (b \pm d) \pmod n \Leftrightarrow n | (a \pm c - (b \pm d))\)

\(\because n | (a - b),n | (c - d)\)

\(\therefore n | ((a - b) \pm (c - d))\)

\(\therefore n | ((a \pm b) - (c \pm d))\)

\(\therefore (a \pm c) \equiv (b \pm d) \pmod n\)

则原命题得证。

性质 5

\[a \equiv b \pmod n, c \equiv d \pmod n \Rightarrow ac \equiv bd \pmod n \]

证明:

\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)

\(c \equiv d \pmod n \Leftrightarrow n | (c - d)\)

\(ac \equiv bd \pmod n \Leftrightarrow n | (ac - bd)\)

\(\because ac - bd = ac - bc + bc - bd = c(a - b) + b(c - d)\)

\(n | (a - b), n | (c - d)\)

\(\therefore n | (ac - bd)\)

即得 \(ac \equiv bd \pmod n\)

原命题得证。

性质 6

\[ac \equiv bc \pmod n \Rightarrow a \equiv b \pmod{\frac{n}{\gcd(n, c)}} \]

证明:

\(g=\gcd(c,n)\),则有 \(k_1, k_2 \in \mathbb{Z}\) 满足
\( \begin{cases} k_1 \cdot g = c \\ k_2 \cdot g = n \end{cases} \)

\(ac \equiv bc \pmod n \Leftrightarrow n | c(a-b)\),即 \(k_2g | k_1g(a - b)\)

则存在 \(q \in \mathbb{Z}\),满足 \(q \cdot k_2g = k_1g(a-b) \Rightarrow q \cdot k_2 = k_1(a-b)\),即 \(k_2|k_1(a - b)\)

\(\because \gcd(k_1, k_2) = 1\)

\(\therefore k_2|(a-b)\)

\(\frac{n}{\gcd(c,n)}|(a-b)\)

\(\therefore a \equiv b \pmod{\frac{n}{\gcd(n, c)}}\)

原命题得证。

性质 7

\[k \in \mathbb{N}_+, a \equiv b \pmod n \Rightarrow a^k \equiv b^k \pmod n \]

证明:

\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)

\(a^k - b^k = (a - b) \sum\limits_{i=1}^{k}{a^{k-i}b^{i-1}}\)

\(n | (a^k - b^k)\),即 \(a^k \equiv b^k \pmod n\)

原命题得证。

性质 8

\[k\in \mathbb{N}_+,a \bmod n = (a \bmod kn) \bmod n \]

证明:

\[\begin{aligned} RHS &= a - \lfloor\frac{n}{kn}\rfloor kn - \lfloor\frac{a - \lfloor\frac{n}{kn}\rfloor kn}{n}\rfloor n \\ &= a - \lfloor\frac{n}{kn}\rfloor kn - \lfloor\frac{a}{n} - \lfloor\frac{n}{kn}\rfloor k\rfloor n \\ &= a - \lfloor\frac{n}{kn}\rfloor kn - \lfloor\frac{a}{n}\rfloor n + \lfloor\lfloor\frac{n}{kn}\rfloor k\rfloor n \\ &= a - \lfloor\frac{n}{kn}\rfloor kn - \lfloor\frac{a}{n}\rfloor n + \lfloor\frac{n}{kn}\rfloor kn \\ &= a - \lfloor\frac{a}{n}\rfloor n \\ &= LHS \end{aligned} \]

则原命题得证。

性质 9

\[k|a,\frac{a}{k} \bmod n = \frac{a \bmod kn}{k} \]

证明:

\[\begin{aligned} RHS &= \frac{a - \lfloor\frac{a}{kn}\rfloor kn}{k} \\ &= \frac{a}{k} - \lfloor\frac{a}{kn}\rfloor n \\ &= \frac{a}{k} - \lfloor\frac{\frac{a}{k}}{n}\rfloor n \\ &= LHS \end{aligned} \]

则原命题得证。

性质 10

\[a>n,a \bmod n < \frac{a}{2} \]

证明:

\(a = k \cdot n + z, z < n\),则 \(z = a \bmod n\)

\[\begin{aligned} z &< n \\ z &< kn \\ 2z &< kn + z \\ 2z &< a \\ z &< \frac{a}{2} \end{aligned} \]

\(a\bmod n < \frac{a}{2}\),原命题得证。

性质 11

\[a \equiv b \pmod {m_1}, a \equiv b \pmod {m_2} \Leftrightarrow a \equiv b \pmod {\text{lcm}(m_1,m_2)} \]

证明:

充分性:

\(a \equiv b \pmod {m_1} \Leftrightarrow m_1|(a - b)\)

\(a \equiv b \pmod {m_2} \Leftrightarrow m_2|(a - b)\)

\(a - b\) 唯一分解后,肯定有一部分质数乘积等于 \(m_1\),一部分质数乘积等于 \(m_2\)\(a-b\) 一定含有这两部分的质因数,\(\text{lcm}(m_1,m_2)\) 是这两部分质数的交集,则一定有 \(\text{lcm}(m_1,m_2)|(a-b)\),即 \(a \equiv b \pmod {\text{lcm}(m_1,m_2)}\)

必要性:

\(a \equiv b \pmod {\text{lcm}(m_1,m_2)} \Leftrightarrow \text{lcm}(m_1,m_2)|(a - b)\)

一定有 \(m_1|\text{lcm}(m_1,m_2),m_2|\text{lcm}(m_1,m_2)\),则有 \(m_1|(a-b), m_2|(a-b)\),即 \(a \equiv b \pmod {m_1}, a \equiv b \pmod {m_2}\)

综上,原命题得证。

同余类与剩余系

\(\forall a \in [0, m - 1] \cap \mathbb{Z}\),集合 \(\{a + km | k \in \mathbb{Z}\}\) 为一个模 \(m\)同余类,记作 \(\overline{a}\)

\(m\) 的同余类共有 \(m\) 个,分别为 \(\overline{0}, \overline{1}, \overline{2}, \cdots, \overline{m - 1}\)。它们构成 \(m\)完全剩余系

\(1 \sim m\) 中与 \(m\) 互质的数代表的同余类共有 \(\varphi(m)\) 个,他们构成 \(m\)简化剩余系

性质:\(m\) 的简化剩余系关于乘法封闭。

证明:

\(a, b\)\(m\) 的简化剩余系中,则 \(\gcd(a,m) = \gcd(b, m) = 1\),则 \(\gcd(ab, m) = 1\),所以 \(ab\)\(m\) 的简化剩余系中,故原原命题得证。

欧拉定理

\[\gcd(a,n) = 1,a^{\varphi(n)}\equiv 1 \pmod n \]

证明:

\(n\) 的简化剩余系为 \(\overline{k_1}, \overline{k_2}, \overline{k_3}, \cdots, \overline{k_{\varphi(n)}}\)

对于 \(i \neq j\),有 \(k_i \not\equiv k_j \pmod n\),则 \(ak_i \not\equiv ak_j \pmod n\),也就是 \(k_i \neq k_j\) 时,\(ak_i, ak_j\) 代表不同的剩余系。则 \(\overline{ak_1 \bmod n}, \overline{ak_2 \bmod n}, \overline{ak_3 \bmod n}, \cdots, \overline{ak_{\varphi(n)} \bmod n}\) 也是 \(n\) 的简化剩余系。

\(\prod\limits^{\varphi(n)}_{i=1}k_i \equiv \prod\limits^{\varphi(n)}_{i=1}ak_i \equiv a^{\varphi(n)}\prod\limits^{\varphi(n)}_{i=1}k_i \pmod n\)

因为完全剩余系当中所有的数都与 \(n\) 互质,即得 \(\gcd(\prod\limits^{\varphi(n)}_{i=1}k_i, n) = 1\),则可以消去 \(\prod\limits^{\varphi(n)}_{i=1}k_i\),即得 \(a^\varphi(n) \equiv 1 \pmod n\)

原命题得证。

推论 1

\[若最小正整数 x 满足 a^x \equiv 1 \pmod n,则 x|\varphi(n) \]

证明:

反证法。若 \(x \nmid \varphi(n)\)。设 \(\varphi(n) = kx + z\),其中 \(0 < z < x\)。因为 \(a^x \equiv 1 \pmod n\),所以存在 \(a\) 的逆元 \(a^{x-1}\),则 \(\gcd(a, n) = 1\)
根据欧拉定理,有

\( \begin{aligned} a^{\varphi(n)} &\equiv 1 &\pmod n \\ a^{\varphi(n)} &\equiv a^x &\pmod n \\ a^{kx+z} &\equiv a^x &\pmod n \\ a^{kx+z} &\equiv (a^x)^k &\pmod n \\ a^{kx+z} &\equiv a^{kx} &\pmod n \\ a^z &\equiv 1 &\pmod {\frac{n}{\gcd(a^{kx}, n)}} \\ \end{aligned} \)

因为 \(\gcd(a, n) = 1\), 所以 \(\gcd(a^{kx}, n) = 1\),则 \(a^z \equiv 1 \pmod n\)。因为 \(0 < z < x\),与 \(x\) 是满足 \(a^x \equiv 1 \pmod n\) 最小的正整数矛盾,故原命题成立。

推论 2 降幂公式

\[\gcd(a,n)=1,b\in\mathbb{N}_+, 则 a^b \equiv a^{b\bmod \varphi(n)} \pmod n \]

证明:

\(b = k \varphi(n) + z,0 \leq z < \varphi(n)\),即 \(z = b\bmod \varphi(n)\)

\(a^b \equiv a^{k \varphi(n) + z}\equiv (a^{\varphi(n)})^k a^z \equiv 1^k a^z \equiv a^z \equiv a^{b\bmod \varphi(n)} \pmod n\)

原命题得证。

扩展欧拉定理

\[a,b,n \in\mathbb{N}_+,a^b \equiv \begin{cases} a^{b\bmod \varphi(n)}, & \gcd(a, n) = 1 \\ a^b, & \gcd(a, n) \neq 1, b < \varphi(n) \\ a^{b\bmod \varphi(n) + \varphi(n)} & \gcd(a, n) \neq 1,b \geq \varphi(n) \\ \end{cases} \pmod n \]

引理 \(1\)

\[\forall p \in\mathbb{P},k\in\mathbb{N}_+,\varphi(p^k)\geq k,当且仅当 p=2, k=1 和 p=2, k=2 时取到等号 \]

证明:

\(x \in\mathbb{P},f(x) = \varphi(x^k) - k = x^k-x^{k-1}-k\)

\( \begin{aligned} & f'(x) \\ &= kx^{k-1} - (k - 1)x^{k-1} \\ &= kx^{k-1} - kx^{k-2} + x^{k-2} \\ &= kx^{k-2}(x-1) + x^{k-2} \\ \end{aligned} \)

\(x = \min\{\mathbb{P}\} = 2\),有 \(x - 1 > 0\),则 \(f'(x) > 0\)

\(f(2) = 2^k - 2^{k-1} - k = 2^{k-1} - k\)

\(x \in\mathbb{N}_+,g(x) = 2^{x-1} - x\)

\(g'(x) = (k-1)2^{k-1}\),取 \(x = \min\{\mathbb{N}_+\} = 1\),有 \(k - 1 = 0\),则 \(g'(x) \geq 0\)

\(g(1) = 0, g(2) = 0, g(3) = 1\),则 \(\forall x \geq 3,g(x) > 0\)

因为 \(f'(x) > 0\),且在 \(x = \min\{\mathbb{P}\} = 2\)\(f(x) = 0\)

所以,当 \(x > 2\) 时,\(f(x)>0\),即 \(\varphi(p^k)>k\)

仅当 \(p = 2\) 时,有 \(f(p) = 0\),即有 \(g(k) = 0\)。且仅当 \(k = 1, k = 2\)\(g(k) = 0\),即 \(f(p) = 0\),即 \(\varphi(p^k) = k\)

综上,引理 \(1\) 得证。

扩展欧拉定理证明:

对于 \(\gcd(a,n) = 1\),即为降幂公式。

对于 \(\gcd(a, n) \neq 1, b < \varphi(n)\),显然成立。

对于 \(\gcd(a, n) \neq 1, b \geq \varphi(n)\)

\(n\) 唯一分解,\(n = \prod\limits^m_{i=1}{p_i^{c_i}}\),根据模与同余的性质 \(10\),只需证对于所有的 \(i\),都满足 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod {p_i^{c_i}}\),即可证 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod n\)

对于每一个 \(i\)

\(\gcd(a, p_i^{c_i}) = 1\)

根据欧拉定理,有 \(a^{\varphi(p_i^{c_i})} \equiv 1 \pmod {p_i^{c_i}}\)。因为 \(\varphi\) 是积性函数,则有 \(w\),满足 \(\varphi(n) = w \varphi(p_i^{c_i})\),则 \(1 \equiv a^{\varphi(p_i^{c_i})} \equiv (a^{\varphi(p_i^{c_i})})^w \equiv a^{w\varphi(p_i^{c_i})} \equiv a^{\varphi(n)} \pmod {p_i^{c_i}}\)

根据取模的定义,有 \(b = \lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n) + b \bmod \varphi(n)\),则

\( \begin{aligned} & a^b \\ & \equiv a^{\lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n) + b \bmod \varphi(n)} \\ & \equiv a^{\lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n)} \cdot a^{b \bmod \varphi(n)} \\ & \equiv (a^{\varphi(n)})^{\lfloor\frac{b}{\varphi(n)}\rfloor} \cdot a^{b \bmod \varphi(n)} \\ & \equiv 1^{\lfloor\frac{b}{\varphi(n)}\rfloor} \cdot a^{b \bmod \varphi(n)} \\ & \equiv 1 \cdot a^{b \bmod \varphi(n)} \\ & \equiv a^{\varphi(n)} \cdot a^{b \bmod \varphi(n)} \\ & \equiv a^{b \bmod \varphi(n) + \varphi(n)} \\ & \pmod {p_i^{c_i}} \end{aligned} \)

\(\gcd(a, p_i^{c_i}) \neq 1\)

因为 \(p_i\) 是质数,则一定有 \(p_i|a\),即一定有 \(k \in \mathbb{N}_+\) 满足 \(a = kp_i\)

根据条件 \(b \geq \varphi(n)\)\(\varphi\) 是积性函数、引理 \(1\),可得 \(b \geq \varphi(n) \geq \varphi(p_i^{c_i}) \geq c_i\)

\(a^b = (kp_i)^b=k^bp_i^b=k^bp_i^{b - c_i}p_i^{c_i}\),则 \(p_i^{c_i} | a^b\),则 \(a^b \equiv 0 \pmod {p_i^{c_i}}\)

\( \begin{aligned} & a^{b \bmod \varphi(n) + \varphi(n)} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot a^{c_i} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot (kp_i)^{c_i} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot k^{c_i}p_i^{c_i} \\ \end{aligned} \)

\(p_i^{c_i}|a^{b \bmod \varphi(n) + \varphi(n)}\),则 \(a^{b \bmod \varphi(n) + \varphi(n)} \equiv 0 \pmod {p_i^{c_i}}\)。则 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \equiv 0 \pmod {p_i^{c_i}}\)

综合 \(\gcd(a, p_i^{c_i}) = 1\)\(\gcd(a, p_i^{c_i}) \neq 1\),有 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod {p_i^{c_i}}\)

综上,原命题得证。

费马小定理

\[p \in \mathbb{P},a \in \mathbb{N},则 a^p \equiv a \pmod p \]

证明:

\(\gcd(a, p) = 1\),根据欧拉定理有 \(a^{\varphi(p)} \equiv 1 \pmod p \Rightarrow a^{p-1} \equiv 1 \pmod p \Rightarrow a^p \equiv a \pmod p\)

\(\gcd(a, p) \neq 1\),因为 \(p \in \mathbb{P}\),则 \(p|a\),则 \(a \in \mathbb{N},则 a^p \equiv a \equiv 0 \pmod p\)

综上,原命题得证。

模意义下乘法的逆元

定义

\(a \in Z, n \in N_+\),若整数 \(b\),满足

\[ab \equiv 1 \pmod n \]

则称 \(b\)\(a\)\(n\) 的逆元,记 \(b = a^{-1}\)

性质

性质 1

\[对于 aa^{-1}\equiv 1 \pmod n 当且仅当 gcd(a, n) = 1,a^{-1} 才存在。 \]

证明:

反证法。假设 \(\gcd(a, n) = g > 1\),存在 \(a^{-1}\) 满足 \(aa^{-1}\equiv 1 \pmod n\),则有 \(k_1, k_2\) 满足
\( \begin{cases} k_1 \cdot g = a \\ k_2 \cdot g = n \end{cases} \)

\( aa^{-1} \bmod n = k_1ga^{-1} \bmod k_2g = k_1ga^{-1} - \lfloor \frac{k_1ga^{-1}}{k_2g} \rfloor k_2g = g(k_1a^{-1} - \lfloor \frac{k_1a^{-1}}{k_2} \rfloor k_2) \)

因为 \(g > 1\),所以 \(g(k_1a^{-1} - \lfloor \frac{k_1a^{-1}}{k_2} \rfloor k_2) \neq 1\),即 \(aa^{-1} \bmod n \neq 1\),与 \(aa^{-1}\equiv 1 \pmod n\) 矛盾,故原命题成立。

性质 2

\[对于 aa^{-1}\equiv 1 \pmod n,若存在 a^{-1},则 a^{-1} 在模 n 的意义下唯一 \]

证明:

\(a_1^{-1},a_2^{-1}\) 满足
\( \begin{cases} aa_1^{-1} \equiv 1 \pmod n \\ aa_2^{-1} \equiv 1 \pmod n \end{cases} \)

\(aa_1^{-1} \equiv aa_2^{-1} \pmod n\),根据模的性质 \(6\)\(a_1^{-1} \equiv a^{-1} \pmod {\frac{n}{gcd(a,n)}}\),根据同余的性质 \(1\),得 \(\gcd(a, n) = 1\),则 \(a_1^{-1} \equiv a^{-1} \pmod n\),原命题得证。

求法

给定 \(a > n\),求 \(aa^{-1}\equiv 1 \pmod n\),中的 \(a^{-1}\)

\(n \in \mathbb{P}, \gcd(a,n) = 1\),利用费马小定理,则 \(a^{n-1} \equiv 1 \pmod n \Rightarrow aa^{n-2} \equiv 1 \pmod n\)\(a^{n-2}\) 即为 \(a^{-1}\)

\(1 \sim n\)\(p\) 意义下的逆元,其中 \(p \in P\)

方法一

对于 \(i \in [1, n] \cap \mathbb{Z}\)

\[\begin{aligned} p \bmod i &= p - \lfloor\frac{p}{i}\rfloor i \\ p \bmod i + \lfloor\frac{p}{i}\rfloor i &= p \\ p \bmod i + \lfloor\frac{p}{i}\rfloor i &\equiv 0 &\pmod p \\ \lfloor\frac{p}{i}\rfloor i &\equiv p \bmod i &\pmod p \\ \lfloor\frac{p}{i}\rfloor &\equiv \frac{p \bmod i}{i} &\pmod p \\ \frac{1}{i} &\equiv \frac{\lfloor\frac{p}{i}\rfloor}{p \bmod i}&\pmod p \\ \end{aligned} \]

\(\frac{\lfloor\frac{p}{i}\rfloor}{p \bmod i}\) 即为 \(i\) 在模 \(p\) 意义下的逆元。枚举 \(i\),对于 \(\lfloor\frac{p}{i}\rfloor\) 可以 \(O(1)\) 求出,对于 \(\frac{1}{p \bmod i} \bmod n\),以为 \(p \bmod i < i\) 所以在求 \(\frac{1}{i} \bmod n\) 之前一定求出来了,\(O(1)\) 调用即可。综上时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)

void calc_inv() {
    inv[1] = 1;
    for(int i = 2; i <= n; i++)
        inv[i] = (((-1ll * (p / i) % p) * inv[p % i]) % p + p) % p;
}

方法二

根据 \(\frac{1}{i!}=\frac{i+1}{(i+1)!}\),可以按一下方法求 \(1 \sim n\) 的逆元:

  • 预处理 \(1 \sim i\) 的阶乘数组,时间复杂度 \(O(n)\)
  • 计算 \(n!\) 的逆元,时间复杂度 \(O(\log p)\)
  • \(\frac{1}{n!}\) 利用 \(\frac{i}{i!} = \frac{1}{(i-1)!}\),计算出 \(1 \sim n\) 的阶乘的逆元,时间复杂度 \(O(n)\)
  • 求出 \(1 \sim n\) 的逆元 \(\frac{1}{i} \equiv \frac{1}{i!} \cdot (i - 1)! \pmod n\),时间复杂度 \(O(n)\)

综上时间复杂度 \(O(3n + \log p) = O(n)\)

这种方法适合求排列数、组合数。

ll f[N]; // x!
ll g[N]; // (x!)^-1 mod m
ll h[N]; // x^-1

ll quick_pow(ll a, ll p, ll m) {
	ll res = 1;
    a %= m;
	while(p)
    {
		if(p & 1)
			res = (res * a) % p;
		a = (a * a) % p;
		p >>= 1;
	}
	return ans % m;
}

void calc(ll n, ll p) {
	for(int i=1; i<=n; ++i)
		f[i] = f[i - 1] * i % p;
	g[n] = quick_pow(f[n], p - 2, p);
	for(int i = n - 1; i >= 1; --i)
		g[i] = g[i + 1] * (i + 1) % p;
	for(int i = 1; i <= n; ++i)
		h[i] = g[i] * f[i - 1] % p;
}

若乘法溢出,可以仿照快速幂,写龟速乘

ll mul(ll a, ll b, ll m) {
    ll res = 0;
    while(b)
    {
        if(b & 1)
            res = (res + a) % m;
        a = (a + a) % m;
        b >>= 1;
    }
    return res % m;
}

裴蜀定理

\[\forall a,b \in\mathbb{Z},a,b 不全为 0,\exists x,y\in\mathbb{Z},ax+by=\gcd(a,b) \]

证明:

证法 \(1\)

\(g=\gcd(a,b)\),则有 \(k_1,k_2\) 满足
\( \begin{cases} k_1g=a \\ k_2g=b \end{cases} \)\(\gcd(k_1,k_2)=1\)

\( \begin{aligned} ax+by&=g \\ k_1gx+k_2gy&=g \\ k_1x+k_2y&=1 \\ k_1x-1&=-y \cdot k_2 \\ \end{aligned} \)

\(\Leftrightarrow k_1x \equiv 1 \pmod {k_2}\),根据欧拉定理,取 \(x=k_1^{\varphi(k_2)-1}\),则 \(y\) 显然存在。

原命题得证。

证法 \(2\)

\(b = 0\),显然有一组特解 \(x=1,y=0\)

\(b \neq 0\),则 \(\gcd(a,b) = \gcd(b, a \bmod b)\)。假设存在 \(x,y\) 满足 \(bx + (a \bmod b)y=\gcd(b,a\bmod b)\),则根据

\( \begin{aligned} & bx + (a \bmod b)y \\ &= bx+(a-\lfloor\frac{a}{b}\rfloor b)y \\ &= ay + b(x-\lfloor\frac{a}{b}\rfloor y) \\ &= \gcd(b, a\bmod b) \\ &= \gcd(a,b) \end{aligned} \)

一定存在 \(x'=y,y'=(x-\lfloor\frac{a}{b}\rfloor y)\) 满足 \(ax'+by' = \gcd(a,b)\)

根据欧几里得算法,有 \(\gcd(a, b) = \gcd(b, a \bmod b) = \gcd(a \bmod b, b \bmod (a \bmod b)) = \cdots = \gcd(\gcd(a,b),0)\),对于 \(\gcd(\gcd(a,b),0)\),这是 \(b=0\) 时的情况,有解。根据上面 \(x',y'\) 的倒推过来,对于 \(\gcd(a,b)\) 的也一定有解。

综上,原命题得证。

扩展欧几里得 exgcd

裴蜀定理根据欧几里得算法证明的,且证法 \(2\) 给出了 \(x,y\) 的求法。

int exgcd(int a, int b, int& x, int& y) {
	if(b == 0) {
		x = 1, y = 0;
		return a;
	}
	int d = exgcd(b, a % b, x, y);
	int z = x;
	x = y;
	y = z - y * (a / b);
	return d;
}

时间复杂度 \(\log(\min(a,b))\),和欧几里得算法一样,只不过记录了一组特解 \(x,y\)

二元一次不定方程

\(a,b,c\in\mathbb{Z},a,b不全为0,ax+by=c\)

性质

\[当且仅当 \gcd(a,b)|c,原方程有整数解 \]

证明:

必要性:根据裴蜀定理求出 \(ax+by=\gcd(a,b)\) 的一组特解 \(x_0, y_0\),则 \(x=x_0 \cdot \frac{c}{\gcd(a,b)}, y=y_0 \cdot \frac{c}{\gcd(a,b)}\)

充分性:

\(g = \gcd(a,b)\), 设 \(g=\gcd(a,b)\),则有 \(k_1,k_2\) 满足
\( \begin{cases} k_1g=a \\ k_2g=b \end{cases} \)\(\gcd(k_1,k_2)=1\)

\(\begin{aligned} ax+by&=c \\ k_1gx+k_2gy&=c \\ g(k_1x+k_2y)&=c \end{aligned}\)

\(g|c\),即 \(\gcd(a, b)|c\)

综上,原命题得证。


对于多元一次方程 \(n\in [2, +\infty] \cap \mathbb{Z}, b,a_i\in\mathbb{Z},\sum\limits^n_{i=1}|a_i|>0,\sum\limits^n_{i=1}a_ix_i=b\),当且仅当 \(\gcd(a_1,a_2,a_3,\dots,a_n)|b\) 时有正整数解

对于 \(n = 2\),即为二元一次不定方程。

对于 \(n > 2\)

必要性:设 \(g = \gcd(a_1, a_2, a_3, \dots, a_n)\),因为 \(\forall i \in [1, n] \cap\mathbb{Z}, g|a_i\),所以 \(\forall i \in [1, n] \cap\mathbb{Z}, g|a_ix_i\),所以 \(g|\sum\limits^n_{i=1}a_ix_i\),即 \(g|b\)

充分性:

\(g=\gcd(a_1,a_2,a_3,\dots,a_n), g_2 = \gcd(a_1, a_2)\)

假设对于方程 \(g_2t+a_3x_3+a_4x_4+\cdots+a_nx_n=b\) 有解,一组特解为 \(t',x_3',x_4',\dots, x_n'\)

对于方程 \(a_1x_1+a_2x_2 = g_2t'\),因为 \(g_2 = \gcd(a_1, a_2)\),则方程显然有解,一组特解为 \(x_1', x_2'\)

因为 \(\gcd(g_2, a_3, a_4,\dots,a_n) = g\),则对于方程 \(a_1x_2+a_2x_2+a_3x_3+\cdots+a_nx_n\) 有解,一组特解为 \(x_1',x_2',x_3',\cdots,x_n'\)

综上,原命题得证。

通解

\(g = \gcd(a,b)\),根据裴蜀定理求出 \(ax+by=\gcd(a,b)\) 的一组特解 \(x_0, y_0\),方程的通解为

\[x = x_0 \frac{c}{g} + k \frac{b}{g}, y = y_0 \frac{c}{g} - k \frac{a}{g}, k\in\mathbb{Z} \]

证明:

\(\begin{aligned} a(x_0 \frac{c}{g} + k \frac{b}{g}) + b(y_0 \frac{c}{g} - k \frac{a}{g}) &= c \\ ax_0 \frac{c}{g} + ak \frac{b}{g} + by_0 \frac{c}{g} - bk \frac{a}{g} &= c \\ ax_0 \frac{c}{g} + by_0 \frac{c}{g} &= c \end{aligned}\)

原命题得证。


最小非负整数解:

\(x = (x_0\frac{c}{g} \bmod \frac{b}{g} + \frac{b}{g}) \bmod \frac{b}{g}\)

\(y = (y_0\frac{c}{g} \bmod \frac{a}{g} + \frac{a}{g}) \bmod \frac{a}{g}\)

中国剩余定理 CRT

对于一元线性同余方程组

\[\begin{cases} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ x \equiv a_3 \pmod {m_3} \\ \cdots \\ x \equiv a_n \pmod {m_n} \\ \end{cases} \]

\(a_1,a_2,a_3,\dots,a_n\in\mathbb{Z}, m_1,m_2,m_3,\dots,m_n\) 两两互质。

\(M = \prod\limits^n_{i=1}m_i, M_i=\frac{M}{m_i},t_i = M_i^{-1} \bmod m_i,\forall i \in\{1,2,3,\dots,n\}\)

原方程组的通解为

\[x=kM + \sum\limits^n_{i=1}{a_it_iM_i},k\in\mathbb{Z} \]

在模 \(M\) 意义下解唯一。

证明:

对于 \(j \in \{1,2,3,\dots,n\}\)

\(j = i\),则 \(a_it_iM_i \equiv a_i \cdot 1 \equiv a_i \pmod {m_j}\)

\(j \neq i\),因为 \(M_i = \frac{M}{m_i}\),所以 \(m_j|M_i\),则 \(a_it_iM_i \equiv 0 \pmod {m_j}\)

综上,有 \(x \equiv a_i \pmod {m_i}\)

假设 \(x_1,x_2\) 都是原方程组的整数解,则 \(x_1\equiv x_2 \pmod {m_i}\),因为 \(m_i\) 两两互质,根据模与同余的性质 \(11\),有 \(x_1 \equiv x_2 \pmod {\prod\limits^{n}_{i=1}m_i}\),即 \(x_1 \equiv x_2 \pmod{M}\),所以每两个相邻的整数解相差 \(M\)

综上,原命题得证。

扩展中国剩余定理 exCRT

解一元线性同余方程组

\[\begin{cases} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ x \equiv a_3 \pmod {m_3} \\ \cdots \\ x \equiv a_n \pmod {m_n} \\ \end{cases} \]

\(a_1,a_2,a_3,\dots,a_n\in\mathbb{Z}\)

解:

利用 \(\text{exgcd}\) 合并方程。

取前两个方程
\(\begin{cases} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ \end{cases} \Rightarrow \begin{cases} x = k_1m_1 + a_1 \\ x = k_2m_1 + a_2 \end{cases} \Rightarrow k_1m_1 + a_1 = k_2m_1 + a_2 \Rightarrow k_1m_1 + k_2 \cdot (-m_2) = a_2 - a_1 \),用 \(\text{exgcd}\) 解出方程的一组特解 \(k_1=k_1',k_2=k_2'\),回代即可得出 \(x\) 的一个特解 \(x=x_0\)。若 \(\gcd(m_1,m_2) \nmid (a_2-a_1)\),则无解。

\(k_1\) 的通解为 \(k_1=k_1' + t\frac{m_2}{\gcd(m_1,m_2)},t\in\mathbb{Z}\),则每 \(\frac{m_2}{\gcd(m_1,m_2)}\) 个数 \(k_1\) 就有一个解,又 \(x = k_1m_1 + a_1\),则每 \(\frac{m_1m_2}{\gcd(m_1,m_2)}\),即每 \(\text{lcm}(m_1, m_2)\) 个数 \(x\) 就有一个满足前两个方程的解,则 \(x\) 的通解为 \(x=x_0 + t\cdot\text{lcm}(m_1, m_2),t\in\mathbb{Z}\),则有方程 \(x\equiv x_0 \pmod{\text{lcm}(m_1, m_2)}\)

综上,
\(\begin{cases} x \equiv a_1 \pmod {m_1} \\ x \equiv a_2 \pmod {m_2} \\ \end{cases} \Rightarrow x\equiv x_0 \pmod{\text{lcm}(m_1, m_2)} \)。不断重复这个过程,直至合并为一个方程。

posted @ 2024-07-08 15:53  kuailedetongnian  阅读(45)  评论(0编辑  收藏  举报