同余 (英語:Congruence modulo [ 1] ,符號 :≡)在数学 中是指數論 中的一種等價關係 [ 2] 。當两个整数 除 以同一个正整数 ,若得相同余数 ,则二整数同余 。同餘是抽象代數 中的同餘關係 的原型[ 3] 。最先引用同余的概念 与「≡」符号 者为德國 数学家 高斯 。
對某兩個整数 a {\displaystyle a} , b {\displaystyle b} ,若它们除 以正整数 m {\displaystyle m} 所得的余数相等,则称 a {\displaystyle a} , b {\displaystyle b} 对于模 m {\displaystyle m} 同余,也就是嚴格來說,存在整數 k {\displaystyle k} 使得
a − b = k m {\displaystyle a-b=km} 則稱 a , b {\displaystyle a,\,b} 對於除數 m {\displaystyle m} 是同餘的 。一般記做
a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}} 比如
26 − 14 = 12 = 1 × 12 {\displaystyle 26-14=12=1\times 12} 故可以記為
26 ≡ 14 ( mod 12 ) {\displaystyle 26\equiv 14{\pmod {12}}} 但另一方面,從 a − b = k m {\displaystyle a-b=km} 有 b − a = ( − k ) × m {\displaystyle b-a=(-k)\times m} ,故 a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}} 等價於
b ≡ a ( mod m ) {\displaystyle b\equiv a{\pmod {m}}} 同餘 符號「≡ 」其UTF-8 碼為U+2261
。
可以證明所有对于模 m {\displaystyle m} 同餘的整數對構成一個(整数 系 Z {\displaystyle \mathbb {Z} } 上的)等价关系 ,換句話說,對於任意兩個整数 a {\displaystyle a} , b {\displaystyle b} :
(1) a ≡ a ( mod m ) {\displaystyle a\equiv a{\pmod {m}}} (2) [ a ≡ b ( mod m ) ] ⇒ [ b ≡ a ( mod m ) ] {\displaystyle [a\equiv b{\pmod {m}}]\Rightarrow [b\equiv a{\pmod {m}}]} (3) { [ a ≡ b ( mod m ) ] ∧ [ b ≡ c ( mod m ) ] } ⇒ [ a ≡ c ( mod m ) ] {\displaystyle {\big \{}[a\equiv b{\pmod {m}}]\wedge [b\equiv c{\pmod {m}}]{\big \}}\Rightarrow [a\equiv c{\pmod {m}}]} 故以下的集合
[ a ] m := { z ∈ Z | ( ∃ k ∈ Z ) ( z = a + k m ) } {\displaystyle {[a]}_{m}:=\left\{z\in \mathbb {Z} \,{\big |}\,(\exists k\in \mathbb {Z} )(z=a+km)\right\}} = { … , a − 2 m , a − m , a , a + m , a + 2 m , … } {\displaystyle \;\;\;\;\;\,=\left\{\ldots ,a-2m,a-m,a,a+m,a+2m,\ldots \right\}} 可稱為 a {\displaystyle a} 对于模 m {\displaystyle m} 的同余類 (congruence class 或residue class ),也可標記為 a ¯ m {\displaystyle {\overline {a}}_{m}} ;模 m {\displaystyle m} 在上下文很清楚時,也可簡記為 [ a ] {\displaystyle \displaystyle [a]} 。 a {\displaystyle a} 會被稱為該同余類的代表數 (representative )[ 4] 。
剩餘系 [ 5] [ 6] (英語:residue system )亦即模 n {\displaystyle n} 同餘類的代表數的集合,通常使用的代表數是最小非負整數,因為它是除法中的應當餘數。要注意的是,對於同一個模數 n {\displaystyle n} ,不同的同餘類不等價,亦即,屬於不同同餘類的整數不同餘於模數 n {\displaystyle n} ,或者說,模 n {\displaystyle n} 剩餘系中的任二元素不同餘於模 n {\displaystyle n} ;而且,整數域中的每個整數只屬於模數 n {\displaystyle n} 的一個同餘類,因為模 n {\displaystyle n} 將整數域划分 為互斥區塊,每個區塊是一個同餘類。
一個完全剩餘系 (英語:complete residue system )指的是模 n {\displaystyle n} 的全部同餘類的代表數的集合;因為剩餘系中的任二元素不同餘於模 n {\displaystyle n} ,所以它也稱為非同餘餘數的完整系統 (英語:complete system of incongruent residues )。例如,模 3 {\displaystyle 3} 有三個同餘類 [ 0 ] , [ 1 ] , [ 2 ] {\displaystyle [0],[1],[2]} ,其完全剩餘系可以是 { 9 , 12 + 1 , 15 + 2 } {\displaystyle \{9,12+1,15+2\}} 。如果該集合是由每個同餘類的最小非負整數所組成,亦即 { 0 , 1 , 2 , . . . , n − 1 } {\displaystyle \{0,1,2,...,n-1\}} ,則稱該集合為模 n {\displaystyle n} 的最小剩餘系 (英語:least residue system )。
模 n {\displaystyle n} 完全剩餘系中,與模 n {\displaystyle n} 互質的代表數所構成的集合,稱為模 n {\displaystyle n} 的簡約剩餘系 (英語:reduced residue system ),其元素個數記為 ϕ ( n ) {\displaystyle \phi (n)} ,亦即欧拉函数 。例如,模 6 {\displaystyle 6} 的簡約剩餘系為 { 1 , 5 } {\displaystyle \{1,5\}} 或 { 7 , 11 } {\displaystyle \{7,11\}} 。如果模 n {\displaystyle n} 是質數 ,那麼它的最小簡約剩餘系是 { 1 , 2 , . . . , n − 1 } {\displaystyle \{1,2,...,n-1\}} ,只比最小剩餘系少一個 0 {\displaystyle 0} 。
a ≡ b ( mod m ) ⇒ c ⋅ m = a − b , c ∈ Z {\displaystyle a\equiv b{\pmod {m}}\Rightarrow c\cdot m=a-b,c\in \mathbb {Z} } (即是說 a 和 b 之差是 m 的倍數) 換句話說, a ≡ b ( mod m ) ⇒ m ∣ ( a − b ) {\displaystyle a\equiv b{\pmod {m}}\Rightarrow m\mid (a-b)} [ 註 1]
同余可以用来检验一个数是否可以整除 另外一个数,见整除规则 。
a ≡ b ( mod m ) b ≡ c ( mod m ) } ⇒ a ≡ c ( mod m ) {\displaystyle \left.{\begin{matrix}a\equiv b{\pmod {m}}\\b\equiv c{\pmod {m}}\end{matrix}}\right\}\Rightarrow a\equiv c{\pmod {m}}}
a ≡ b ( mod m ) c ≡ d ( mod m ) } ⇒ { a ± c ≡ b ± d ( mod m ) a c ≡ b d ( mod m ) {\displaystyle \left.{\begin{matrix}a\equiv b{\pmod {m}}\\c\equiv d{\pmod {m}}\end{matrix}}\right\}\Rightarrow \left\{{\begin{matrix}a\pm c\equiv b\pm d{\pmod {m}}\\ac\equiv bd{\pmod {m}}\end{matrix}}\right.} 當 c = d {\displaystyle c=d} 時,則為等量加法、減法: a ± c ≡ b ± c ( mod m ) {\displaystyle a\pm c\equiv b\pm c{\pmod {m}}} 這性質更可進一步引申成為這樣: a ≡ b ( mod m ) ⇒ { a n ≡ b n ( mod m ) , ∀ n ∈ Z a n ≡ b n ( mod m ) , ∀ n ∈ N ∗ P ( a ) ≡ P ( b ) ( mod m ) {\displaystyle a\equiv b{\pmod {m}}\Rightarrow {\begin{cases}an\equiv bn{\pmod {m}},\forall n\in \mathbb {Z} \\a^{n}\equiv b^{n}{\pmod {m}},\forall n\in \mathbb {N} ^{*}\\P(a)\equiv P(b){\pmod {m}}\end{cases}}} [ 註 2] 其中 P ( x ) {\displaystyle P(x)} 为任意整系数多项式函数。
k為整數,n為正整數, ( k m ± a ) n ≡ ( ± a ) n ( mod m ) {\displaystyle (km\pm a)^{n}\equiv (\pm a)^{n}{\pmod {m}}}
k {\displaystyle k} 為正整數, a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}} ,若且唯若 k a ≡ k b ( mod k m ) {\displaystyle ka\equiv kb{\pmod {km}}}
若 k a ≡ k b ( mod m ) {\displaystyle ka\equiv kb{\pmod {m}}} 且 k , m {\displaystyle k,m} 互質 ,則 a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}}
每個正整數都可以分解為數個因數 的乘積,稱為整数分解 。例如 15 = 3 × 5 {\displaystyle 15=3\times 5} ,因數 3 {\displaystyle 3} 與 5 {\displaystyle 5} 都可以整除 15 {\displaystyle 15} ,記為 3 | 15 {\displaystyle 3|15} 與 5 | 15 {\displaystyle 5|15} 。如果 15 {\displaystyle 15} 可以整除某正整數 a {\displaystyle a} ,亦即 15 | a {\displaystyle 15|a} ,那麼 15 {\displaystyle 15} 就是 a {\displaystyle a} 的因數: a = 15 × b {\displaystyle a=15\times b} ,其中 b {\displaystyle b} 為另一因數。 a = 15 × b = ( 3 × 5 ) × b {\displaystyle a=15\times b=(3\times 5)\times b} ,因此, 15 {\displaystyle 15} 的因數也可以整除 a {\displaystyle a} : ( 3 | 15 ) ∧ ( 15 | a ) ⇒ 3 | a {\displaystyle (3|15)\wedge (15|a)\Rightarrow 3|a} 。
a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}} 等價於 ( a − b ) ≡ 0 ( mod m ) {\displaystyle (a-b)\equiv 0{\pmod {m}}} ,也就是 m | ( a − b ) {\displaystyle m|(a-b)} 。亦即,如果 m | ( a − b ) {\displaystyle m|(a-b)} ,那麼它可以寫成 a ≡ b ( mod m ) {\displaystyle a\equiv b{\pmod {m}}} ,因此有以下除法原理:
m {\displaystyle m} 的因數也可以整除 ( a − b ) {\displaystyle (a-b)} 。亦即, m {\displaystyle m} 是 n {\displaystyle n} 的倍數 : m = c × n {\displaystyle m=c\times n} , n | m {\displaystyle n|m} 。因為 m | ( a − b ) {\displaystyle m|(a-b)} ,所以 n | ( a − b ) ⇒ a ≡ b ( mod n ) {\displaystyle n|(a-b)\Rightarrow a\equiv b{\pmod {n}}} 。 a ≡ b ( mod c n ) ⇒ a ≡ b ( mod n ) {\displaystyle a\equiv b{\pmod {cn}}\Rightarrow a\equiv b{\pmod {n}}} a ≡ b ( mod m ) n | m } ⇒ a ≡ b ( mod n ) {\displaystyle \left.{\begin{matrix}a\equiv b{\pmod {m}}\\n|m\end{matrix}}\right\}\Rightarrow a\equiv b{\pmod {n}}} [ 註 1] 現假設 m {\displaystyle m} 可以整除 ( a − b ) {\displaystyle (a-b)} 的倍數 c ( a − b ) {\displaystyle c(a-b)} 。如果 m {\displaystyle m} 和 c {\displaystyle c} 互質(記為 ( m , c ) = 1 {\displaystyle (m,c)=1} ),那麼 m {\displaystyle m} 必定可以整除 ( a − b ) {\displaystyle (a-b)} : m | ( a − b ) ⇒ a ≡ b ( mod m ) {\displaystyle m|(a-b)\Rightarrow a\equiv b{\pmod {m}}} 。 a c ≡ b c ( mod m ) ( c , m ) = 1 } ⇒ a ≡ b ( mod m ) {\displaystyle \left.{\begin{matrix}ac\equiv bc{\pmod {m}}\\(c,m)=1\end{matrix}}\right\}\Rightarrow a\equiv b{\pmod {m}}} [ 註 3] 如果 m 1 | ( a − b ) {\displaystyle m_{1}|(a-b)} 而且 m 2 | ( a − b ) {\displaystyle m_{2}|(a-b)} ,那麼 m 1 {\displaystyle m_{1}} 與 m 2 {\displaystyle m_{2}} 的最小公倍数 必定可以整除 ( a − b ) {\displaystyle (a-b)} ,記為 a ≡ b ( mod [ m 1 , m 2 ] ) {\displaystyle a\equiv b{\pmod {[m_{1},m_{2}]}}} 。這可以推廣成以下性質: a ≡ b ( mod m 1 ) a ≡ b ( mod m 2 ) ⋮ a ≡ b ( mod m n ) ( n ≥ 2 ) } ⇒ a ≡ b ( mod [ m 1 , m 2 , ⋯ , m n ] ) {\displaystyle \left.{\begin{matrix}a\equiv b{\pmod {m_{1}}}\\a\equiv b{\pmod {m_{2}}}\\\vdots \\a\equiv b{\pmod {m_{n}}}\\(n\geq 2)\end{matrix}}\right\}\Rightarrow a\equiv b{\pmod {[m_{1},m_{2},\cdots ,m_{n}]}}} [ 註 4] 上面的最後一個性質可以使用算术基本定理 與集合 來解釋。一個大於1的正整數 q {\displaystyle q} 可以分解為一串質數 冪的乘積: q = p 1 c 1 × p 2 c 2 × . . . × p n c n {\displaystyle q=p_{1}^{c_{1}}\times p_{2}^{c_{2}}\times ...\times p_{n}^{c_{n}}} ( p i {\displaystyle p_{i}} 兩兩相異,且 c i > 0 {\displaystyle c_{i}>0} ),令 S q {\displaystyle S_{q}} 為所有能整除 q {\displaystyle q} 的質數冪的集合,即 S q = { p 1 , p 1 2 , ⋯ , p 1 c 1 , p 2 , p 2 2 , ⋯ , p 2 c 2 , ⋯ , p n , p n 2 , ⋯ , p n c n } {\displaystyle S_{q}=\{p_{1},p_{1}^{2},\cdots ,p_{1}^{c_{1}},p_{2},p_{2}^{2},\cdots ,p_{2}^{c_{2}},\cdots ,p_{n},p_{n}^{2},\cdots ,p_{n}^{c_{n}}\}} 。設 r {\displaystyle r} 為正整數,則 r {\displaystyle r} 整除 q {\displaystyle q} ,當且僅當 S r {\displaystyle S_{r}} 是 S q {\displaystyle S_{q}} 的子集 。令 m 1 | q {\displaystyle m_{1}|q} 且 m 2 | q {\displaystyle m_{2}|q} ,則 S m 1 {\displaystyle S_{m_{1}}} 與 S m 2 {\displaystyle S_{m_{2}}} 的聯集 必定也是 S q {\displaystyle S_{q}} 的子集。取這個聯集中冪次最高的各個元素 ,它們的乘積就是 m 1 {\displaystyle m_{1}} 與 m 2 {\displaystyle m_{2}} 的最小公倍数 [ m 1 , m 2 ] {\displaystyle [m_{1},m_{2}]} 。事實上,有 S [ m 1 , m 2 ] = S m 1 ∪ S m 2 {\displaystyle S_{[m_{1},m_{2}]}=S_{m_{1}}\cup S_{m_{2}}} ,所以 [ m 1 , m 2 ] {\displaystyle [m_{1},m_{2}]} 也能夠整除 q {\displaystyle q} 。 ( p − 1 ) ! ≡ − 1 ( mod p ) {\displaystyle (p-1)!\ \equiv \ -1\ ({\mbox{mod}}\ p)}
a p − 1 ≡ 1 ( mod p ) {\displaystyle a^{p-1}\equiv 1{\pmod {p}}}
a φ ( n ) ≡ 1 ( mod n ) {\displaystyle a^{\varphi (n)}\equiv 1{\pmod {n}}}
a λ ( n ) ≡ 1 ( mod n ) {\displaystyle a^{\lambda (n)}\equiv 1{\pmod {n}}}
( x ) k ≡ x ( x − 1 ) ( x − 2 ) ⋯ ( x − k + 1 ) ≡ 0 ( mod k ! ) {\displaystyle (x)_{k}\equiv x(x-1)(x-2)\cdots (x-k+1)\equiv 0{\pmod {k!}}}
( m n ) ≡ ∏ i = 0 k ( m i n i ) ( mod p ) , {\displaystyle {\binom {m}{n}}\equiv \prod _{i=0}^{k}{\binom {m_{i}}{n_{i}}}{\pmod {p}},}
( m + p k + [ l o g p n ] n ) ≡ ( m n ) ( mod p k ) {\displaystyle {\binom {m+p^{k+[log_{p}n]}}{n}}\equiv {\binom {m}{n}}{\pmod {p^{k}}}}
设 N = ∏ i p i k i {\displaystyle N=\prod _{i}p_{i}^{k_{i}}} ,则 ( m + L ( n , N ) n ) ≡ ( m n ) ( mod N ) {\displaystyle {\binom {m+L(n,N)}{n}}\equiv {\binom {m}{n}}{\pmod {N}}} ,其中 L ( n , N ) = ∏ i p i k i + [ l o g p n ] = N ∏ i p i [ l o g p n ] {\displaystyle L(n,N)=\prod _{i}p_{i}^{k_{i}+[log_{p}n]}=N\prod _{i}p_{i}^{[log_{p}n]}} [ 7]
a − 1 a ˙ ≡ 1 ( mod n ) {\displaystyle a^{-1}{\dot {a}}\equiv 1{\pmod {n}}}
可用輾轉相除法 、歐拉定理 、卡邁克爾函數 求解。
存在最小的正整数d使得 a d ≡ 1 ( mod n ) {\displaystyle a^{d}\equiv 1{\pmod {n}}} 成立,且 d = φ ( n ) {\displaystyle d=\varphi (n)} 。
a x ≡ b ( mod n ) {\displaystyle ax\equiv b{\pmod {n}}}
考虑最大公约数 ,有解时用輾轉相除法 等方法求解。
{ a 1 x ≡ b 1 ( mod m 1 ) a 2 x ≡ b 2 ( mod m 2 ) ⋮ a n x ≡ b n ( mod m n ) {\displaystyle {\begin{cases}a_{1}x\equiv b_{1}{\pmod {m_{1}}}\\a_{2}x\equiv b_{2}{\pmod {m_{2}}}\\\qquad \qquad \vdots \\a_{n}x\equiv b_{n}{\pmod {m_{n}}}\\\end{cases}}}
先求解每一个线性同余方程,再用中国剩余定理 解方程组。
x 2 ≡ d ( mod p ) {\displaystyle x^{2}\equiv d{\pmod {p}}}
勒让德符号 、雅可比符号 、克罗内克符号 、二次互反律 用于判别d是否为模n的二次剩余。
x n ≡ d ( mod p ) {\displaystyle x^{n}\equiv d{\pmod {p}}}
求自然数 a的个位数字,就是求a与哪一个数对于模10同余。 10 ≡ 1 ( mod 3 ) , 10 n ≡ 1 ( mod 3 ) , 10001 ≡ 10 4 + 1 ≡ 1 + 1 ( mod 3 ) {\displaystyle 10\equiv 1({\textrm {mod}}\ 3),10^{n}\equiv 1({\textrm {mod}}\ 3),10001\equiv 10^{4}+1\equiv 1+1({\textrm {mod}}\ 3)} 。 模數算術在數論 、群論 、環論 、紐結理論 、抽象代數 、計算機代數 、密碼學 、計算機科學 、化學 、視覺 和音樂 等學科中皆有應用。
它是數論的立基點之一,與其各個面向都相關。
模數算術經常被用於計算標識符 中所使用的校验和 ,比如国际银行账户号码 (IBANs)就用到了模97的算術,來捕獲用戶在輸入銀行帳戶號碼時的錯誤。
於密碼學中,模數算術是RSA 與迪菲-赫尔曼密钥交换 等公鑰 系統的基礎,它同時也提供有限域 ,應用於 橢圓加密 ,且用於許多對稱密鑰加密 中,包括高级加密标准 、國際資料加密演算法 等。
於計算機科學, 同餘被應用於位元運算 或其他與固定寬度之循環資料結構 相關的操作。
於化學中, CAS號 (一個對各種化合物皆異之的識別碼)的最後一碼為校驗碼 ,將CAS號 首二部分最後的數字乘上一,下一碼乘上二,下一碼乘上三以此類推,將所有積加起來再取模10。
在音樂領域,模12用於十二平均律 系統。
星期的計算 中取模7算術極重要。
更廣泛而言,同餘在法律 、經濟 (見賽局理論 )或其他社會科學 領域中也有應用。
以下為快速展示小於63位元無號整數之模數乘法的C程式,且轉換過程中不發生溢位。計算 a * b (mod m)之演算法:
uint64_t mul_mod ( uint64_t a , uint64_t b , uint64_t m ) { uint64_t d = 0 , mp2 = m >> 1 ; int i ; if ( a >= m ) a %= m ; if ( b >= m ) b %= m ; for ( i = 0 ; i < 64 ; ++ i ) { d = ( d > mp2 ) ? ( d << 1 ) - m : d << 1 ; if ( a & 0x8000000000000000ULL ) d += b ; if ( d > m ) d -= m ; a <<= 1 ; } return d % m ; }