【数论】同余 学习笔记

同余

定义

费马小定理

定理内容:若 \(p\) 是质数,则有:\(\forall a \in Z, a ^ p \equiv a \pmod p\)
推论:当 \(\gcd(a,p) = 1\) 时,\(a ^ {p - 1} \equiv 1 \pmod p\)

欧拉定理

定理内容:当 \(\gcd(a,m) = 1\) 时,\(a ^ {\phi (m)} \equiv 1 \pmod m\),其中 \(\phi(m)\) 表示 \(m\) 的欧拉函数,即小于 \(m\) 的数中与 \(m\) 互质的数的个数。

裴蜀定理及拓展欧几里德算法

裴蜀定理:\(\forall a,b \in Z\),一元二次不定方程 \(ax + by = \gcd(a,b)\) 有整数解。
逆定理:若 \(d\)\(a,b\) 的公约数,且 \(\exist x,y \in Z, ax + by = d\),则 \(d = \gcd(a,b)\),特殊的,\(d = 1\)\(a,b\) 互质。
可以用扩展欧几里德算法求出不定方程的一组解,方法如下:

  1. 根据欧几里德算法,\(ax + by = d = \gcd(a, b) = \gcd (b, a \bmod b) = d'\),设 \(x'b + y'(a - b \lfloor \frac{a}{b} \rfloor) = d'\)
  2. \(a' | b'\)\(a \bmod b = 0\) 时,欧几里德定理求出 \(\gcd(a,b) = d' = b\),则显然 \(x'=1,y'=0\) 是一组合法解, \(1 \times b' + 0 \times 0 = b'\)
  3. \(x'\)\(y'\) 已求出时,\(d' = x'b + y'(a - b \lfloor \frac{a}{b} \rfloor) = ay' + b(x' - \lfloor \frac{a}{b} \rfloor y') = d\),则可求出 \(x = y', y = x' - \lfloor \frac{a}{b} \rfloor y'\)
  4. 递归即可求出原方程的一组解。

代码实现如下:

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 t = x;
    x = y, y = t - (a / b) * y;
    return d;
}

求解二元一次不定方程

设关于 \(x,y\) 的方程为:\(ax + by = c\), \(\gcd(a, b) = d\)

  1. \(d \nmid c\)时,此时方程无解。
  2. \(t = c / d\),则先求出 \(ax' + by' = d\) 的解 \(x', y'\),对等式两边乘以 \(t\),求出 \(x = tx', y = ty'\)

容易发现,若 \(x,y\) 是原方程的一组解,则 \(x = x + \frac{b}{d}, y = y - \frac{a}{d}\) 也是原方程的一组解。

乘法逆元

\(x \times x^{-1} \equiv 1 \pmod p\),则定义 \(x^{-1}\)\(x\) 在模 \(p\) 意义下的乘法逆元。

求逆元的方法有很多,包括但不限于:

  1. 费马小定理法
    由推论可知,当 \(p\) 是质数时,\(x^(p-2)\)\(x\) 在模 \(p\) 意义下的乘法逆元。快速幂计算即可,时间复杂度 \(O(\log p)\)

  2. 扩展欧几里德法
    \(x \times x^{-1} \equiv 1 \pmod p\) 即为 \((xx^{-1} - 1) \bmod p = 0\),设是 \(p\)\(y\) 倍,则扩展欧几里德求解关于 \(x^{-1}, y\) 的不定方程 \(x \times x^{-1} - p \times y = 1\) 即可。

posted @ 2023-12-02 14:45  蒟蒻OIer-zaochen  阅读(21)  评论(0编辑  收藏  举报