Jerry's Blog

Back

定义#

对于两个数 aabba,bZa,b\in \mathbb{Z},则如果存在整数 ccdd,使得 bc+d=abc+d=a,且保证 0d<b0\leq \lvert{d}\rvert \lt b,则称 ccaa 除以 bb 的商,ddaa 除以 bb 的余数,也被称为 aabb 的结果,记作 amodb=da\bmod{b}=d

对于两个整数 aabb,如果有整数 pp,使得 amodp=bmodpa\bmod{p} = b\bmod{p},则称 aabb 对模 pp 同余,记作 ab(modp)a\equiv b\pmod p,像这样的式子叫做同余方程

对于两个整数 aapp,如果 a0(modp)a\equiv 0\pmod p,则 pp 整除 aa,记作 pap \mid a

性质#

同余的基本性质#

对于两个整数 a,ba,b,如果有 ab(modp)a\equiv b\pmod p,则可得 pabp \mid a - b

证明:

由已知可得:

{k1p+n=ak2p+n=b\left\{ \begin{aligned} & k_1p+n=a \\ & k_2p+n=b\end{aligned} \right.

其中,

n,k1,k2Zn,k_1,k_2\in\mathbb{Z}

所以:

ab=k1p+nk2pn=k1pk2p=p(k1k2)ab0(modp)pab\begin{aligned} a-b &=k_1p+n-k_2p-n\\ &=k_1p-k_2p\\ &=p(k_1-k_2)\\ &\Rightarrow a-b\equiv 0\pmod p \\ &\Rightarrow p \mid a-b \end{aligned}

加法性质#

对于整数 a,b,c,d,pa,b,c,d,p,如果有:

{ab(modp)cd(modp)\left\{ \begin{aligned} & a\equiv b\pmod p \\ & c\equiv d\pmod p\end{aligned} \right.

则有:

(a+c)(b+d)(modp)(a+c) \equiv (b+d)\pmod p

证明:

由已知条件可得:

{k1p+n=ak2p+n=bk3p+m=ck4p+m=d\left\{ \begin{aligned} & k_1p+n=a \\ & k_2p+n=b \\ & k_3p+m=c \\ & k_4p+m=d\end{aligned} \right.

其中,

n,m,k1,k2,k3,k4Zn,m,k_1,k_2,k_3,k_4\in\mathbb{Z}

所以:

(a+c)=k1p+n+k3p+m=(k1+k3)p+m+n(a+c)modp=m+n\begin{align*} (a+c)&=k_1p+n+k_3p+m\\&=(k_1+k_3)p+m+n\\(a+c)\bmod p &= m+n\end{align*}

同理:

(b+d)modp=m+n(b+d)\bmod p=m+n

所以:(a+c)(b+d)(modp)(a+c) \equiv (b+d)\pmod p

加法性质的引申性质#

对于整数 a,b,c,d,pa,b,c,d,p,如果有:

{ab(modp)cd(modp)\left\{ \begin{aligned} & a\equiv b\pmod p \\ & c\equiv d\pmod p\end{aligned} \right.

则有:

acbd(modp)a-c \equiv b-d\pmod p a×cb×d(modp)a\times c \equiv b\times d\pmod p acbd(modp)a^c \equiv b^d\pmod p

移项和约分#

同余方程允许移项

对于整数 a,b,c,pa,b,c,p,如果有:

ab+c(modp)a\equiv b+c\pmod p

则有:

acb(modp)a-c \equiv b\pmod p

证明:

ab+c(modp)acb+cc(modp)acb(modp)\begin{align*} a&\equiv b+c\pmod p\\ a-c&\equiv b+c-c\pmod p\\ a-c&\equiv b\pmod p \end{align*}

同余方程允许约分

对于整数 a,b,pa,b,p,如果有:

ab(modp)a\equiv b\pmod p

cca,b,pa, b, p 的公因数,则有:

acbc(modpc)\frac{a}{c} \equiv \frac{b}{c}\pmod {\frac{p}{c}}

证明:

由已知条件可得:

{k1p+n=ak2p+n=b\left\{ \begin{aligned} & k_1p+n=a \\ & k_2p+n=b \end{aligned} \right.

其中,

n,k1,k2Zn,k_1,k_2\in\mathbb{Z}

所以:

acmodpc=k1p+ncmodpc=(k1pc+nc)modpc=nc\begin{aligned} \frac{a}{c}\bmod \frac{p}{c}&=\frac{k_1p+n}{c}\bmod \frac{p}{c}\\ &=(k_1\frac{p}{c}+\frac{n}{c})\bmod \frac{p}{c}\\ &=\frac{n}{c} \end{aligned}

同理可证,

bcmodpc=nc\frac{b}{c}\bmod \frac{p}{c}=\frac{n}{c}

所以:

acbc(modpc)\frac{a}{c} \equiv \frac{b}{c}\pmod {\frac{p}{c}}

逆元#

ab1(modp)ab\equiv 1\pmod p,且 a,b,pZa,b,p \in \mathbb{Z} ,则称 aabb 互为模 pp 下的逆元,aa 的逆元可以记作 a1a^{-1}

特别的,1 的逆元总是 1

除法性质#

对于整数 a,b,ca,b,c,如果有:

acbc(modp)\begin{aligned} & ac\equiv bc\pmod p\end{aligned}

则有:

ab(modp)a \equiv b\pmod p

证明:

acbc(modp)acc1bcc1(modp)ab(modp)\begin{aligned} ac&\equiv bc\pmod p\\ ac\cdot c^{-1}&\equiv bc\cdot c^{-1} \pmod p\\ a &\equiv b\pmod p \end{aligned}

剩余类和完全剩余系#

对于正整数 pp,全部整数可以分为 pp 个集合,令其为 K0,K1,K2,,Kp1K_0,K_1,K_2,\cdots,K_{p-1},其中,整数 nn 和其所在的集合 KiK_i 所满足的条件为:

ni(modp)n\equiv i\pmod p

则称 K0,K1,K2,,Kp1K_0,K_1,K_2,\cdots,K_{p-1} 为模 pp剩余类

对于一个集合 ss,如果集合中有 pp 个元素,且每一个元素和其他元素都不在同一个模 pp 的剩余类中,则称这个集合 ss 是模 pp完全剩余系.模 pp 的完全剩余系有无数个.

费马小定理#

如果 pp 是一个质数,而整数 aapp 互质,则有:

ap11(modp)a^{p-1}\equiv 1\pmod p

证明:

假定模 pp 的完全剩余系 s={0,1,2,,p1}s=\{0, 1, 2, \cdots, p-1\},不妨将 ss 中的每一项都乘 aZa\in\mathbb{Z}a0a\neq 0,得到一个新的集合 s={0,a,2a,,(p1)a}s'=\{0,a,2a,\cdots,(p-1)a\}

引理:ss' 是一个新的关于模 pp 的完全剩余系.

假设 ss' 中存在两个元素 aiaiajaj,他们符合:aiaj(modp),ijai\equiv aj\pmod p,i\neq j

所以,

aiaj(modp)p(aiaj)pa(ij)\begin{aligned} ai\equiv aj\pmod p \Rightarrow p \mid (ai-aj) \Rightarrow p \mid a(i-j) \end{aligned}

由于 ppaa 互质,所以 pijp \mid i-j,又因为 0i,j<p0\leq i,j\lt p

所以不存在这样的 i,ji,j 使得 pijp \mid i-j,这与假设矛盾.

得证.

我们现在将模 pp 为 0 的一项删去,即 ssss' 中的 00

我们可以知道,在删去 00 后,ss 的各项之积 TT 为:

T=1×2×(p1)=(p1)!\begin{aligned} T &=1\times 2\cdots \times(p-1)\\ &=(p-1)! \end{aligned}

ss' 的各项之积 TT' 为:

T=a2a(p1)a=ap1(p1)!\begin{aligned} T'&=a\cdot 2a\cdots ({p-1})a\\ &=a^{p-1}(p-1)! \end{aligned}

可推得:

Tmodp=(p1)!modpTmodp=(amodp)(2amodp)[(p1)amodp]modp=k1k2k3kp1modpkiZ,0<ki<p\begin{aligned} T \bmod p&=(p-1)!\bmod p\\ T'\bmod p&=(a\bmod p)(2a\bmod p)\cdots[(p-1)a\bmod p]\bmod p\\ &=k_1k_2k_3\cdots k_{p-1}\bmod p\\ k_i\in\mathbb{Z},&0\lt k_i\lt p \end{aligned}

又由于 ss' 是模 pp 的完全剩余系,所以每一个 kik_i 都是一个 [1,p1][1,p-1] 之间的值(注意,kik_i 的值不一定是 ii),且两两互不相同.

所以,

Tmodp=k1k2k3kp1modp=1×2××(p1)modp=(p1)!modp=Tmodp\begin{aligned} T'\bmod p&=k_1k_2k_3\cdots k_{p-1}\bmod p\\ &=1\times 2\times\cdots\times (p-1)\bmod p\\ &=(p-1)!\bmod p\\ &=T\bmod p \end{aligned}

由此可得,TT(modp)T'\equiv T\pmod p

所以:

TT(modp)ap1(p1)!(p1)!(modp)\begin{aligned} T'&\equiv T\pmod p\\ a^{p-1}(p-1)!&\equiv (p-1)!\pmod p \end{aligned}

(p1)!(p-1)! 的逆元为 nn,所以:

ap1(p1)!(p1)!(modp)ap1(p1)!n(p1)!n(modp)ap11(modp)\begin{aligned} a^{p-1}(p-1)!&\equiv (p-1)!\pmod p\\ a^{p-1}(p-1)!n&\equiv (p-1)!n\pmod p\\ a^{p-1}&\equiv 1\pmod p\\ \end{aligned}

得证.

利用费马小定理求逆元#

ap11(modp)aap21(modp)\begin{aligned} a^{p-1}&\equiv 1\pmod p\\ a\cdot a^{p-2}&\equiv 1\pmod p\\ \end{aligned}

所以,aa 的逆元是 ap2a^{p-2}.在实战中,可以使用快速幂在 O(logn)O(\log n) 的时间复杂度之内解决.

取模与逆元
https://blog.jerrylab.top/blog/math/mod
Author Jerry
Published at 2026年3月4日