# 同余的基本性质

# 基本概念

mm 是正整数,a,ba,b 为两个整数,如果 aba-bmm 的倍数,那么称 aabb 关于 mm 同余,记作 ab(modm)a\equiv b\pmod m

  • 同余是等价关系

证明题需要充分利用 a,ba,b 关于 mm 同余 \Leftrightarrow mabm|a - b

模 m 剩余类

mm 是正整数,全体整数按照模 mm 同余划分成 mm 个不同的等价类。整数 aa 所在的剩余类记为 aˉ\bar a,整数 xx 属于剩余类 aˉ\bar a 当且仅当 xa(modm)x\equiv a\pmod m

  • 如果 aamm 互素, 剩余类中 aˉ\bar a 中的每个元素都和 mm 互素

    证明

    ab(modm)a\equiv b\pmod m 时,a=mq+ba=mq+b

    (a,m)=(b,m)\Rightarrow (a,m)=(b,m)

    \Rightarrow 如果 aamm 互素,那么剩余类中所有元素和 mm 互素

模 m 完全剩余系

从每个剩余类取出一个整数形成 mm 元集合

证明一个系不是模 mm 完全剩余系 \Rightarrow 证明系中有两个元素模 mm 相等

模 m 简化剩余类

如果整数 aamm 互素,那么 aa 所在的剩余类 aˉ\bar a 称为模 mm 简化剩余类

模 m​ 简化剩余系

从每个简化剩余类中取出一个整数形成的集合称为模 mm 简化剩余系

欧拉函数

在整数 1,2,3,...,m1,2,3,...,m 中,所有和 mm 互素的整数的个数称为 mm 的欧拉函数,记作 φ(m)\varphi (m)

  • 注意整数不含 00
  • pp 是素数时, φ(p)=p1\varphi(p) = p- 1
  • 欧拉函数 即 简化剩余系的个数

# 运算的性质

m,nm, n 为正整数,模 mm 的剩余类 aˉ\bar a 可以拆分成 nn 个模 mnmn 的剩余类, aˉ\bar a,a+m, \overline{a+m},...,,...,a+m(n-1)\overline{\text{a+m(n-1)}}

举例说明

假设 m=3,n=4m = 3, n = 4

那么 mod 3mod\ 3 共有 3 个剩余系: 3k + 0, 3k + 1, 3k + 2

选取 3k + 1 分析:

mod 3 1 4 7 10 13…

mod 12 1ˉ\bar 1 4ˉ\bar 4 7ˉ\bar 7 1ˉ0\bar 10 1ˉ\bar 1

显然在 “跨小步” 时, 1,4,7,10,... 属于同一类,但是在 “跨大步” 时,它们属于不同类

aˉ(modm)={aˉ,aˉ+m,aˉ+2m,...,aˉ+(n-1)m}\Rightarrow \bar a\pmod m= \left\{\bar a,\bar a+m,\bar a+2m,...,\bar a+\text{(n-1)m}\right\}

m,nm, n 为正整数,若 ab(modmn)a\equiv b\pmod {mn},则 ab(modm),ab(modn)a\equiv b\pmod m,a\equiv b\pmod n(逆定理不成立)

m,nm, n 为正整数,若 ab(modm),ab(modn)a\equiv b\pmod m,a\equiv b\pmod n,则 ab (mod [m,n])a \equiv b\ (mod\ {[m,n]})

模的运算性质

ab(modm)a\equiv b\pmod m,则 a+bb+c(modm)a+b\equiv b+c\pmod m

ab(modm)a\equiv b\pmod mkk 为整数,则 akbk(modm)ak\equiv bk\pmod m

akbk(modm)ak\equiv bk\pmod mkk 为整数,且 (k,m)=1\Large{(k,m)=1},则 ab(modm)a\equiv b\pmod m

ab(modm)a\equiv b\pmod m,那么 a/cb/c(modm(m,c))a/c\equiv b/c\pmod {\frac{m}{(m,c)}}

ab(modm)a\equiv b\pmod mkk整数,则 akbk(modm)kak\equiv bk\pmod mk反之亦然

ab(modm)a\equiv b\pmod mf(x)f(x) 为任一整系数多项式,则 f(a)f(b)(modm)f(a)\equiv f(b)\pmod m

a1a2(modm),b1b2(modm)a_1\equiv a_2\pmod m,b_1\equiv b_2\pmod m,则a1+b1a2+b2(modm),a1b2a2b2(modm)a_1+b_1\equiv a_2+b_2\pmod m,a_1b_2\equiv a_2b_2\pmod m

神奇的规律

列出一个乘法:

1
2
3
4
  123 -- ①
× 258 -- ②
----------
31734 -- ③

对①每个数字相加知道只剩一位数: 1 + 2 + 3 = 6

对②每个数字相加知道只剩一位数: 2 + 5 + 8 = 15, 1 + 5 = 6

对③每个数字相加知道只剩一位数: 3 + 1 + 7 +3 + 4 = 18, 1 + 8 = 9

对于①②得到的数字,相乘: 6 * 6 = 36, 2 + 6 = 9

9 == 9 计算正确

原理是什么呢??

看似在做加法,实则在进行 mod 9 同余运算

引入一个概念:树根

数根是对一个数的所有数位进行求和,直到只剩下个位数。一个数的数根就是它对 9 取模的余数

模 9 的这个性质来源于数位展开:

一个数 (N) 可以表示为:

N=ak10k+ak110k1++a110+a0N = a_k \cdot 10^k + a_{k-1} \cdot 10^{k-1} + \dots + a_1 \cdot 10 + a_0

其中,(ak,ak1,,a0)( a_k, a_{k-1}, \dots, a_0) 是该数的各个位数字。

10n1(mod9)(因为 10 被 9 除余 1)10^n \equiv 1 \pmod{9} \quad \text{(因为 10 被 9 除余 1)}

ak10k+ak110k1++a110+a0ak+ak1++a1+a0(mod9)a_k \cdot 10^k + a_{k-1} \cdot 10^{k-1} + \dots + a_1 \cdot 10 + a_0 \equiv a_k + a_{k-1} + \dots + a_1 + a_0 \pmod{9}

也就是说,一个数模 9 的结果等于它的各位数字之和的模 9 结果

由于模 9 乘法的封闭性,即:

(Amod9)×(Bmod9)(A×B)mod9(A \mod 9) \times (B \mod 9) \equiv (A \times B) \mod 9

所以这个检验方法对所有整数乘法都有效。

# 抽象的性质

mm 是正整数,若 (a,m)=1(a,m)=1, 则

  • xx 遍历模 mm 的一个完全剩余系时,对于任意整数 bbax+bax+b 遍历模 mm 的一个完全剩余系
  • xx 遍历模mm 的一个简化剩余系时, axax 遍历模 mm 的一个简化剩余系

m,nm,n 为正整数,(m,n)=1(m,n)=1,则

  • xx 遍历模 nn 的一个完全剩余系时, yy 遍历模 mm 的一个完全剩余系时, mx+nymx+ny 遍历模 mnmn 的一个完全剩余系

  • xx 遍历模 nn 的一个简化剩余系时, yy 遍历模 mm 的一个简化剩余系时, mx+nymx+ny 遍历模 mnmn 的一个简化剩余系,

    φ(mn)=φ(m)φ(n)\varphi (mn) = \varphi(m)\varphi(n)

习题

解析

C.C.

利用数学归纳法

显然对于 n=1n=1,恒等式成立

假设对于 n=kn = k 也成立,即 4k1+3k(mod9)4^k\equiv 1+3k\pmod 9

下证 对于 n=k+1n = k + 1 成立:

4k+1=4×4k4×(1+3k)(mod9)4k+14+12k(mod9)4k+14+3k(mod9)4k+11+3(k+1)(mod9)4^{k+1}=4 \times 4^k\equiv 4 \times(1+3k)\pmod 9\\ 4^{k+1}\equiv 4+12k\pmod 9\\ 4^{k+1}\equiv 4+3k\pmod 9\\ 4^{k+1}\equiv 1+3(k+1)\pmod 9

D.D. 同理,利用数学归纳法证明即可

解析

aa 一共有奇数和偶数两种情况

奇数: a=2k+1a=2k+1

偶数:a=2ka=2k

a2=4k2+4k+1a^2=4k^2+4k+1 或者 a2=4k2a^2=4k^2

显然答案只有 0,1

解析
  1. 分析 6x+9y6x+9y5454 的余数

因为 5454 的余数的范围是 0,1,...,53 ,而 6x+9y6x+9y33 的倍数,所以 6x+9y6x+9y5454 的余数只可能是 0,3,6,...,51 ,共1818 个可能的余数

接着确定余数是否都能被取到:

xx 的取值:xx\in { 0,1,2,3,4,5,6,7,8{0,1,2,3,4,5,6,7,8} }

yy 的取值:yy\in { 0,1,2,3,4,5,60,1,2,3,4,5,6}

因为 6×9=546\times 9=54 所以 6x6x 的周期是 99

因为 9×6=549\times 6=54 所以 9y9y 的周期是 66

\Rightarrow 6x+9y6x+9y 的周期是 lcm(9,6)=18lcm(9,6)=18

所以, 6x+9y6x+9y5454 的余数会重复每 1818 个数

  1. 分析 6x+9y6x + 9y1818 的余数

因为 1818 的余数范围是 0,1,2,...,17 ,而 6x+9y6x+9y33 的倍数,所以 6x+9y6x+9y1818 的余数只可能是 0,3,6,...,15 ,共 66 个可能的余数

接着确定余数是否都能被取到:

因为 6×3=186\times 3=18 所以 6x6x 的周期是 33

因为 9×2=189\times 2=18 所以 9y9y 的周期是 22

\Rightarrow 6x+9y6x+9y 的周期是 lcm(9,6)=6lcm(9,6)=6

所以, 6x+9y6x+9y1818 的余数会重复每 66 个数

  1. 分析 6x+9y6x + 9y66 的余数

因为 66 的余数范围是 0,1,2,...,5 ,而 6x+9y6x+9y33 的倍数,所以 6x+9y6x+9y66 的余数只可能是 0,3 ,共 22 个可能的余数

接着确定余数是否都能被取到:

首先化简:

6x+9y0+3y(mod6)6x+9y\equiv 0+3y\pmod 6

因为 3×2=63\times 2=6 所以 3x+9y3x + 9y 的周期是 22

所以, 6x+9y6x+9y66 的余数会重复每 22 个数

# 欧拉定理和费马小定理

pp 为素数, ee 为正整数,则 φ(pe)=pepe-1\varphi(p^e)=p^e-p^{\text{e-1}}

证明

pep^e 中共有 pep^e 个数

因为 pp 是素数,所以除了 pp 的倍数,其他的数都和 pp 互素

1p,2p,3p,...,pe1,pe1p,2p,3p,...,p^{e-1},p^e 这些数和 pp 不互素

一共有 pe/pp^e / p

所以 φ(pe)=pepe-1\varphi(p^e) = p^e-p^{\text{e-1}}

mm 为正整数,其标准分解式 m=i=1spiαim=\prod\limits_{i=1}^sp_i^{\alpha_i},则 φ(m)=mi=1s(11pi)\varphi(m)=m\prod\limits_{i=1}^s (1-\frac{1}{p_i})

证明

φ(m)=φ(p1α1p2α2,...,pkαk)=(p1ep1e-1)(p2ep2e-1)...\varphi(m)=\varphi(p_1^{\alpha_1}\cdot p_2^{\alpha_2},...,p_k^{\alpha_k})=(p_1^e-p_1^{\text{e-1}})\cdot (p_2^e-p_2^{\text{e-1}})...

# 欧拉定理

mm 为正整数, (a,m)=1\Large (a,m)=1,那么 aφ(m)1(modm)a^{\varphi(m)}\equiv 1\pmod m

举例证明

例如 mod=8mod = 8φ(8)=\varphi(8)= {1,3,5,71,3,5,7}

由性质可知 ×3\times 3 仍然遍历整个简化剩余系 { 3,9,15,213,9,15,21 } \Rightarrow { 3,1,7,53,1,7,5 }

所以可以得到:

3 * 1 = 3 (mod 8)

3 * 3 = 1 (mod 8)

3 * 5 = 7 (mod 8)

3 * 7 = 5 (mod 8)

将上面四个式子乘起来:

34×(1×3×5×7)=(1×3×5×7)(mod8)34=1(mod8)3^4\times(1\times 3\times 5\times 7)=(1\times 3\times 5\times 7)\pmod 8\\ \Rightarrow 3^4=1\pmod 8

# 费马小定理

pp 为素数,那么对于任意整数 aaapa(modp)a^p\equiv a\pmod p

理解

aφ(m)1(modm)aφ(m)+1a(modm)apa(modm)a^{\varphi(m)}\equiv 1\pmod m\\ a^{\varphi(m)+1}\equiv a\pmod m\\ a^p\equiv a\pmod m

# 扩展欧拉定理

pp 为素数, k0,rtk\geq 0, \Large r\geq t,那么对于任意整数 aa,

akφ(pt)+rar( mod pi)a^{k\varphi(p^t)+r}\equiv a^r(\ mod\ p^i)

# 模重复平方法

空间换时间

习题

解析

根据素数基本定理:nn 可以表示成 n=p1k1p2k2...pmkmn=p_1^{k_1}p_2^{k_2}...p_m^{k_m},其中 pip_i 是素数,kik_i 是正整数

φ(n)=φ(p1k1)φ(p2k2)...φ(pmkm)φ(n)=(p1k1p1k11)(p2k2p2k21)...(pmkmpmkm1)\varphi(n)=\varphi(p_1^{k_1})\varphi(p_2^{k_2})...\varphi(p_m^{k_m})\\ \varphi(n)=(p_1^{k_1}-p_1^{k_1-1})(p_2^{k_2}-p_2^{k_2-1})...(p_m^{k_m}-p_m^{k_m-1})

显然我们需要找到所有可能的素数幂 pikip_i^{k_i} 使得 φ(piki)\varphi(p_i^{k_i}) 是 24 的因子

而 24 的因子有 1, 2, 3, 4, 6, 8, 12, 24

接下来分情况讨论:

  1. k=1k = 1:即 φ(p)=p1\varphi(p)=p-1φ(p)\varphi(p) 是 24 的因子 的情况

    显然 p 的取值只有 2, 3, 5, 7, 13

    φ(p)\varphi(p) 的取值只有 1, 2, 4, 6, 12

  2. k>1k>1

    我们利用列举法

    p = 2

    • k = 2φ(22)=2\varphi(2^2)=2
    • k = 3φ(23)=4\varphi(2^3)=4
    • k = 4φ(24)=8\varphi(2^4)=8
    • k = 5φ(25)=16\varphi(2^5)=16

    p = 3

    • k = 2φ(32)=6\varphi(3^2)=6
    • k = 3φ(33)=18\varphi(3^3)=18

    p = 5

    • k = 2φ(52)=20\varphi(5^2)=20

构造 nn

  1. 显然 nn 不能是单个素数幂

  2. nn 是两个不同素数幂的乘积,即 φ(n)=φ(pk)×φ(qm)\varphi(n)=\varphi(p^k)\times\varphi(q^m)

    根据前面的已知信息 nn 可以等于

    • 3×133\times 13
    • 5×75\times 7
    • 22×32,22×7,5×322^2\times 3^2, 2^2\times 7,5\times 3^2

一般结论:

dnφ(d)=n\sum_{d|n}\varphi(d)=n

解析

dnd|ndd 是所有因子,不只是素因子

# 同余式

f(x)=i=0naixif(x)=\sum\limits_{i=0}^n a_ix^i 是一个整系数多项式, mm 为正整数,那么称 f(x)0(modm)f(x)\equiv 0\pmod m 为模 mm 同余式

  • 如果 an≢0(modm)a_n\not\equiv 0\pmod m,则称同余式的次数nn

  • 如果整数 aa 满足 f(a)0(modm)f(a)\equiv 0\pmod m,称 aa 为同余式的解

ba(modm)b\equiv a\pmod m,则 f(a)f(b)0(modm)f(a)\equiv f(b)\equiv 0\pmod m,所以 bb 也是同余式的解

  • 一般地,若 aa 是同余式的解,那么模 mm 剩余类 aˉ\bar a 中的所有整数都是同余式的解,记作 xa(modm)x\equiv a\pmod m

mm完全剩余系中同余式的解的个数成为同余式的解数

# 解同余式

mm 为正整数,同余式 axb(modm)ax\equiv b\pmod m 有解的充要条件(a,m)b(a,m)|b

在有解的情况下,解数(a,m)(a,m)

x=x0x = x_0 是同余式的一个特解,那么同余式的所有解可以表示为

xx0+m(a,m)t(modm)x\equiv x_0+\frac{m}{(a,m)}t\pmod m

证明

axb(modm)有解存在整数y,axb=myax\equiv b\pmod m 有解\Leftrightarrow 存在整数y,ax-b=my

axmy=bax-my=b 就可以利用之前学习的求解不定方程的方式求解

# 逆元

mm 为正整数,(a,m)=1(a,m)=1,同余式 ax1(modm)ax\equiv 1\pmod m 的解称为 aamm 的逆元,记作 xa1(modm)x\equiv a^{-1}\pmod m

只有 aamm 互素,才有逆元

mm 为正整数,(a,m)=1(a,m)=1,那么 aφ(m)1a^{\varphi(m)-1}aamm 的逆元

Wilson 定理:设 pp 是素数,那么 (p1)!1(modp)(p-1)!\equiv -1\pmod p

# 中国剩余定理

m1,m2,...,msm_1,m_2,...,m_s 为两两互素的正整数,b1,b2,...,bsb_1,b_2,...,b_s 为任意整数,那么同余式组

{xb1(modm1)xb2(modm2)...xbs(modms)\left\{\begin{matrix} x\equiv b_1\pmod {m_1} \\ x\equiv b_2\pmod{m_2} \\ ...\\ x\equiv b_s\pmod{m_s} \end{matrix}\right.

M=m1m2...msM=m_1m_2...m_s 有唯一解 xi=1sbiMmi[(Mmi)1(modmi)](modM)x\equiv \sum\limits_{i=1}^sb_i\cdot\frac{M}{m_i}[(\frac{M}{m_i})^{-1}\pmod {m_i}]\pmod M

习题

带公式版本:

带入版本:(不需要mim_i 互素)

技巧版本:

m1,m2,...,msm_1,m_2,...,m_s 为两两互素的正整数,若对于 1is1\leq i\leq s,同余式 fi(x)0(modmi)f_i(x)\equiv 0\pmod {m_i}CiC_i 个解,那么同余式组

{f1(x)0(modm1)f2(x)0(modm2)...fs(x)0(modms)\left\{\begin{matrix} f_1(x)\equiv 0\pmod {m_1} \\ f_2(x)\equiv 0\pmod{m_2} \\ ...\\ f_s(x)\equiv 0\pmod{m_s} \end{matrix}\right.

M=m1m2...msM=m_1m_2...m_sC1C2...CsC_1C_2...C_s 个解

举例

x210(mod3)x12(mod3)x^2-1\equiv0\pmod 3\\ x\equiv 1或2\pmod 3

对于高次的同余式,在模很小的情况下,可以用尝试法

注意:不要试到一个答案就不试了,因为高次的式子会有多个答案

pp 为素数,i1i2...is,b1,b2,...,bsi_1\geq i_2\geq ...\geq i_s,b_1,b_2,...,b_s 为任意整数,同余式组

{xb1(modpi1)xb2(modpi2)...xbs(modpis)\left\{\begin{matrix} x\equiv b_1\pmod{p^{i_1}}\\ x\equiv b_2\pmod{p^{i_2}}\\ ...\\ x\equiv b_s\pmod{p^{i_s}} \end{matrix}\right.

如果有解,其解为

xb1(modpi1)x\equiv b_1\pmod{p^{i_1}}

有解充要条件是

{b1b2(modpi2)b2b3(modpi3)...bsbs(modpis)\left\{\begin{matrix} b_1\equiv b_2\pmod{p^{i_2}}\\ b_2\equiv b_3\pmod{p^{i_3}}\\ ...\\ b_s\equiv b_s\pmod{p^{i_s}} \end{matrix}\right.

理解

因为modpi1\mod p^{i_1} 是最难满足的,所以只要最高次的式子可以满足,(如果有解)后面的就都可以满足

判断有解的充要条件其实就是把解带入,看是否满足

习题

# 模为素数幂的同余式的解法

pp 为素数,

  1. xx1(modp)x \equiv x_1 \pmod{p} 是同余式 f(x)0(modp)f(x) \equiv 0 \pmod{p} 的一个解
  2. 且满足 (f(x1),p)=1(f'(x_1), p) = 1

则对于任意正整数 k>1k > 1f(x)0(modpk)f(x) \equiv 0 \pmod{p^k} 的满足 xx1(modp)x \equiv x_1 \pmod{p} 的解 xkx_k 可通过如下递推公式得到:

xixi1f(xi1)(f(x1)1(modp))(modpi),i=2,3,,kx_i \equiv x_{i-1} - f(x_{i-1}) \cdot \left(f'(x_1)^{-1} \pmod{p}\right) \pmod{p^i}, \quad i=2,3,\cdots,k

习题