同余
定義:設m是一個正整數,設a,b是兩個整數,則a\(\equiv\)b (mod m),當且僅當 m | (a-b),稱a, b模m同余。
換句話說,a, b模m同余當且僅當a, b用歐幾里得除法除以m得到的余數相等。
同余的保運算性:設m是一個正整數,設\(a_1,b_1,a_2,b_2\)有:
\(a_1\equiv b_1\)(mod m)
\(a_2\equiv b_2\)(mod m),則:
\(a_1+a_2\equiv b_1+b_2\)(mod m)
\(a_1\cdot a_2\equiv b_1\cdot b_2\)(mod m)
同余的性質:
設m是一個正整數,設\(d\cdot a\equiv d\cdot b\) (mod m),如果(d, m)=1,則a\(\equiv\)b (mod m)
設m是一個正整數,設a\(\equiv\)b (mod m),d > 0,則\(d\cdot a\equiv d\cdot b\) (mod m)
設m是一個正整數,設a\(\equiv\)b (mod m),如果d\(\mid\)m,則a\(\equiv\)b (mod d)
設\(m_1,\cdots, m_k\)是k個正整數,設a\(\equiv\)b (mod \(m_i\)) 其中\(i=1\cdots k\),
則a\(\equiv\)b (mod[\(m_1,\cdots m_k\)])
剩余類
設m是一個正整數,對任意整數a,令
\(C_a=\lbrace c|c\in Z, c\equiv a (mod\space m) \rbrace\),則不難證明:
i.任意一個整數必然包含在一個\(C_r\)中,\(0\le r\le m\)
ii.\(C_a=C_b\)的充分必要條件是:a\(\equiv\)b (mod m)
iii.\(C_a\)與\(C_b\)的交集非空的充分必要條件是:a\(\ne\)b (mod m)
Notation:\(C_a\)叫做模m的a的剩余類,一個剩余類中的任意一個數叫做該類的剩余或代表元。
完全剩余系
若\(r_0, \cdots r_{m-1}\)是m個整數,並且其中人惡化兩個數都不在同一個剩余類里,則稱\(r_0,\cdots r_{m-1}\)為模 m 的一個完全剩余系。
完全剩余系的性質:
設m是一個正整數,a是滿足(a, m)=1的整數,b是任意一個整數,若集合k是遍歷模m的一個完全剩余系,則ak+b也是遍歷模m的一個完全剩余系。
設\(m_1, m_2\)是兩個互素的正整數,若\(k_1, k_2\)分別遍歷模\(m_1, m_2\)的完全剩余系,則\(m_2k_1+m_1k_2\)是遍歷模\(m_1·m_2\)的一個完全剩余系。
證明.
要證明\(m_2k_1+m_1k_2\)是遍歷模\(m_1m_2\)的一個完全剩余系,只需要證明\(m_2k_1+m_1k_2\)中的任意兩個數不同余
反證法:設存在正整數\(k_1,k_2\)和\(k_1', k_2'\)滿足:
\(m_2k_1+m_1k_2\equiv m_2k_1'+m_1k_2'\) (mod \(m_1m_2\))
則由同余的性質可以得到:
\(m_2k_1+m_1k_2\equiv m_2k_1'+m_1k_2'\) (mod \(m_1\))
\(m_2k_1\equiv m_2k_1'\) (mod \(m_1\))
\(\therefore m_1\mid (m_2k_1-m_2k_1')\)
\(m_1\mid m_2(k_1-k_1')\)
\(\because (m_1,m_2)=1\)
\(\therefore m_1\mid (k_1-k_1')\)
\(\therefore k_1\equiv k_1'\) (mod \(m_1\))
同理可得\(k_2\equiv k_2'\) (mod \(m_2\))
這與一個完全剩余系中的任意兩個數不同余的事實相反
簡化剩余系
簡化剩余系就是把一個模m的完全剩余系中與m互素的數挑出來組成一個新的剩余系,稱為簡化剩余系。
形式化的定義就是設m是一個正整數,若\(r_1,\cdots, r_t\)是t個與m互素的正整數且兩兩模m不同余,則\(r_1,\cdots, r_t\)是模m的一個簡化剩余系。
簡化剩余系的性質:
設m是一個正整數,a是滿足(a,m)=1的整數,如果k是遍歷模m的一個簡化剩余系,則\(a\cdot k\)也是遍歷模m的簡化剩余系
設\(m_1,m_2\)是兩個互素的正整數,如果\(k_1,k_2\)分別遍歷模\(m_1\)和模\(m_2\)的簡化剩余系,則\(m_2k_1+m_1k_2\)也是遍歷模\(m_1\cdot m_2\)的簡化剩余系
歐拉函數
設m是一個正整數,則m個整數\(1,\cdots,m-1,m\)中與m互素的整數的個數,記作\(\varphi(m)\),叫做歐拉函數
歐拉函數的性質:
1)顯然,當m是一個素數的時候\(\varphi(m)=m-1\)
2)設m, n是互素的兩個正整數,則\(\varphi(m\cdot n)=\varphi(m)\cdot\varphi(n)\)
3)對於素數冪\(m=p^a\)有:
\(\varphi(m)=p^a-p^{a-1}=p^a(1-\frac{1}{p})\)
證明.
將\(1,2,\cdots p^a\)划分成\(p^{a-1}\)份長度為p的數組,則每個數組可以按照剩余系的概念等價於\(1,2,\cdots p\)
而\(1,2,\cdots p\)中,只有p與p不互素,那么也只有p與\(p^a\)不互素
\(\therefore 1,2,\cdots, p^a\)中與\(p^a\)不互素的整數個數為:
\(\varphi(p^a)=p^a-p^{a-1}=p^a(1-\frac{1}{p})\)
歐拉定理
設m是大於1的整數,如果a是滿足(a,m)=1的整數,則\(a^{\varphi(m)}\equiv 1(mod\space m)\)
證明.
設\(r_1,r_2,\cdots r_{\varphi(m)}\)是模m的一個最小簡化剩余系
\(\because (a,m)=1\)
\(\therefore ar_1,ar_2,\cdots ar_{\varphi(m)}\)也是模m的一個簡化剩余系
\(\therefore ar_1\cdot ar_2\cdots ar_{\varphi(m)}\equiv r_1\cdot r_2\cdots r_{\varphi(m)}\) (mod m)
\(a^{\varphi(m)}r_1\cdot r_2\cdots r_{\varphi(m)}\equiv r_1\cdot r_2\cdots r_{\varphi(m)}\) (mod m)
\((a^{\varphi(m)}-1)r_1\cdot r_2\cdots r_{\varphi(m)}\equiv 0\) (mod m)
又\(\because r_1,r_2,\cdots r_{\varphi(m)}\)是模m的最小簡化剩余系
\(\therefore (r_1,m)=(r_2,m)=\cdots=(r_{\varphi(m)},m)=1\)
\((r_1\cdot r_2\cdots r_{\varphi(m)},m)=1\)
\(\therefore a^{\varphi(m)}-1\equiv 0\)(mod m)
\(a^{\varphi(m)}\equiv 1\)(mod m)
費馬小定理
設p是一個素數,則對任意整數a,有
\(a^p\equiv a\) (mod p)
證明.
i)若(a,p) \(\ne\) 1
\(\because\)p是素數
\(\therefore p\mid a\)
即a\(\equiv\) 0 (mod p)
\(a^p\equiv\) 0 (mod p)
\(a^p\equiv a\equiv\) 0 (mod m)
ii)若(a,p) = 1
\(\because\)p是素數
\(\therefore\varphi(p)=p-1\)
由歐拉定理知\(a^{\varphi(m)}\equiv 1\) (mod p)
\(a^{p-1}\equiv\) 1 (mod p)
\(a^p\equiv\) a (mod p)
Wilson定理
設p是一個素數,則(p-1)! \(\equiv\) -1 (mod p)
想要證明上面的定理需要先證明另一個定理:設m是一個正整數,a是滿足(a,m)=1的整數,則存在唯一的整數a',1 \(\le\) a'<m,使得a·a' \(\equiv\) 1 (mod m)
證明.
存在性:設\(r_1,r_2,\cdots ,r_{\varphi(m)}\)是模m的一個最小簡化剩余系
\(\because (a,m)=1\)
\(\therefore ar_1,ar_2,\cdots ar_{\varphi(m)}\)也是模m的一個簡化剩余系
顯然,模m的簡化剩余系中必然存在\(ar_n \equiv\) 1 (mod m)
唯一性:假設模m的最小簡化剩余系中有a', a'', 1 \(\le\) a',a''<m 使得
a·a' \(\equiv\) 1 (mod m)
a·a'' \(\equiv\) 1 (mod m),則
a(a'-a'') \(\equiv\) 0 (mod m)
a'-a'' \(\equiv\) 0 (mod m)
a' \(\equiv\) a'' (mod m)
有了上述的定理后,可以開始證明Wilson定理:
證明.
設p是一個素數,則任意1 \(\le\) a < p,存在唯一的1 \(\le\) a' < p
使得a·a' \(\equiv\) 1 (mod p)
而a=a'的充要條件是\(a^2\equiv\) 1 (mod m)
則a=1或a=p-1
\(\therefore (p-1)!\equiv1\cdot2\cdots (p-1)\equiv1\cdot(p-1)\Pi a\cdot a'\)
\(\equiv1(p-1)\equiv(-1)\) (mod m)
模重復平方計算
問題:如何計算 \(b^n\) (mod m)其中n是一個大的整數。
由於n是一個大整數,所以無法直接通過歐幾里得除法計算\(b^n\)模m的余數
首先可以通過歐拉定理將n縮小成一個小於\(\varphi(m)\)的整數
如果\(b^n\)還是大到無法直接計算,那么就采用下面的方法進行計算:
將n寫成一個二進制形式,即:
\(n=n_0+n_1\cdot 2+n_2\cdot 2^2+\cdots +n_{k-1}2^{k-1}\)
由科學計數法的性質可知\(n_{k-1}\)必然等於1
令整數a=1
1.如果\(n_0=1\),則\(a_0\equiv(a\cdot b)\) (mod m),否則\(a_0\equiv a\) (mod m)
令\(b_1\equiv b^2\) (mod m)
2.如果\(n_1=1\),則\(a_1\equiv(a_0\cdot b_1)\) (mod m),否則\(a_1\equiv a_0\) (mod m)
令\(b_2\equiv b_1^2\) (mod m)
\(\cdots\)
k.因為\(n_{k-1}=1\),所以\(a_{k-1}\equiv (a_{k-2}\cdot b_{k-1})\) (mod m)
最終\(b^n\equiv a_{k-1}\) (mod m)