1. 整除
设 a , b ∈ Z a,b \in \rm Z a,b∈Z,其中 Z Z Z表示整数, a ≠ 0 a \neq 0 a=0,如果存在 q ∈ Z q \in \rm Z q∈Z使得 b = a q b=aq b=aq,则称 b b b可被 a a a整除,记作 a ∣ b a|b a∣b,并且称 b b b是 a a a的倍数, a a a是 b b b的约数或除数、因数。
正整数 n n n是素数,当且仅当它不能被任何整数 d d d整除,其中 1 < d ≤ n 1<d\leq \sqrt n 1<d≤n.
设 m , n ∈ Z m,n \in Z m,n∈Z,若能同时整除 m m m和 n n n的整数只有 ± 1 \pm 1 ±1,则称 m m m和 n n n互素。
2. 最大公约数
m m m和 n n n均为不为零的整数,在 m m m和 n n n的所有公约数中存在唯一的公约数 d > 0 d>0 d>0,使得 m m m和 n n n的任一公约数 e e e都整除 d d d,则 d d d称为最大公约数,记作 d = g c d ( m , n ) d=gcd(m,n) d=gcd(m,n)。两个数 m m m和 n n n互素,记作 g c d ( m , n ) = 1 gcd(m,n)=1 gcd(m,n)=1
欧几里得算法是寻找两个整数
a
a
a和
b
b
b
(
a
>
b
)
(a>b)
(a>b)的最大公约数
g
c
d
(
a
,
b
)
gcd(a,b)
gcd(a,b)的常用方法,过程如下:
g
c
d
(
a
,
b
)
=
g
c
d
(
b
,
a
m
o
d
b
)
gcd(a,b)= gcd(b,a \bmod b)
gcd(a,b)=gcd(b,amodb)eg: 求
525
525
525和
778
778
778的最大公约数
778
=
1
×
525
+
253
,
g
c
d
(
728
,
525
)
=
g
c
d
(
525
,
253
)
778 =1 \times 525 +253 ,\;\; gcd(728,525) = gcd(525,253)
778=1×525+253,gcd(728,525)=gcd(525,253)
525
=
2
×
253
+
19
,
g
c
d
(
525
,
253
)
=
g
c
d
(
523
,
19
)
525 =2 \times 253+19 ,\;\; gcd(525,253) = gcd(523,19)
525=2×253+19,gcd(525,253)=gcd(523,19)
253
=
13
×
19
+
6
,
g
c
d
(
523
,
19
)
=
g
c
d
(
19
,
6
)
253 =13 \times 19+6 ,\;\; gcd(523,19) = gcd(19,6)
253=13×19+6,gcd(523,19)=gcd(19,6)
19
=
3
×
6
+
1
,
g
c
d
(
19
,
6
)
=
g
c
d
(
6
,
1
)
19 =3 \times 6+1 ,\;\; gcd(19,6) = gcd(6,1)
19=3×6+1,gcd(19,6)=gcd(6,1) 最后得到余数1,则
g
c
d
(
525
,
778
)
=
1
gcd(525,778)=1
gcd(525,778)=1,即
525
525
525与
778
778
778互素。
3. 模运算
设 m ≠ 0 m \neq 0 m=0,若 m ∣ a − b m|a-b m∣a−b,即 a − b = k m a-b=km a−b=km,则称 a a a同余于 b b b模 m m m,或 b b b是 a a a对模 m m m的剩余,记作 a ≡ b m o d m a \equiv b \bmod m a≡bmodm上式也称为模 m m m的同余式,或简称同余式。由于 m ∣ a − b m|a-b m∣a−b等价于 − m ∣ ( a − b ) -m|(a-b) −m∣(a−b),因此 a ≡ b m o d m a \equiv b \bmod m a≡bmodm等价于 a ≡ b m o d ( − m ) a \equiv b \bmod(-m) a≡bmod(−m)。
模运算的性质
- (1)自反性:对于任意的 a a a,总有 a ≡ a m o d m a \equiv a \bmod m a≡amodm
- (2)对称性:如果 a ≡ b m o d m a \equiv b \bmod m a≡bmodm,那么 b ≡ a m o d m b \equiv a \bmod m b≡amodm
- (3)传递性:如果 a ≡ b m o d m a \equiv b \bmod m a≡bmodm,且 b ≡ c m o d m b \equiv c \bmod m b≡cmodm,那么 a ≡ c m o d m a \equiv c \bmod m a≡cmodm
- (4)结合律: [ ( a m o d m ) ± ( b m o d m ) ] m o d m ≡ ( a ± b ) m o d m [(a \bmod m) ± (b \bmod m)]\bmod m \equiv (a±b)\bmod m [(amodm)±(bmodm)]modm≡(a±b)modm [ ( a m o d m ) × ( b m o d m ) ] m o d m ≡ ( a × b ) m o d m [(a \bmod m) \times (b \bmod m)]\bmod m \equiv (a \times b)\bmod m [(amodm)×(bmodm)]modm≡(a×b)modm
- (5)分配律: [ ( a × b ) m o d m + ( a × c ) m o d m ] m o d m ≡ [ a × ( b + c ) ] m o d m [(a \times b)\bmod m+(a \times c)\bmod m] \bmod m \equiv [a \times (b+c)]\bmod m [(a×b)modm+(a×c)modm]modm≡[a×(b+c)]modm
- (6)加法消除律:如果 ( a + b ) ≡ ( a + c ) m o d m (a+b) \equiv(a+c) \bmod m (a+b)≡(a+c)modm,则 b = c m o d m b=c \bmod m b=cmodm
- (7)乘法消除律:如果 ( a × b ) ≡ ( a × c ) m o d m (a \times b)≡(a \times c) \bmod m (a×b)≡(a×c)modm,且 g c d ( a , m ) = 1 gcd(a,m)=1 gcd(a,m)=1,则 b ≡ c m o d m b \equiv c \bmod m b≡cmodm。
4. 逆元
对于非0、非
±
1
\pm 1
±1的整数
m
m
m,若
g
c
d
(
a
,
m
)
=
1
gcd(a,m) =1
gcd(a,m)=1,即
a
a
a与
m
m
m互素,则
a
a
a模
m
m
m的逆元存在。
且存在唯一整数
x
(
0
<
x
<
m
)
x(0<x<m)
x(0<x<m),使
a
x
≡
1
m
o
d
m
ax \equiv 1 \bmod m
ax≡1modm记为
a
−
1
≡
x
m
o
d
m
a^{-1} \equiv x \bmod m
a−1≡xmodm通常使用扩展的欧几里得算法:用欧几里得算法求出
a
a
a和
m
m
m的最大公约数,如果公约数是1,则逆元存在。通过反向迭代操作得到表达式
x
a
+
y
m
=
1
xa+ym =1
xa+ym=1,从而得到
a
a
a模
m
m
m的逆元
x
x
x和
m
m
m模
a
a
a的逆元
y
y
y。
eg: 求
25
25
25模
31
31
31的逆元
∵
\because
∵
31
=
25
×
1
+
6
,
25
=
4
×
6
+
1
31=25 \times 1+6, 25=4 \times 6+1
31=25×1+6,25=4×6+1
∴
\therefore
∴
1
=
25
−
4
×
6
=
25
−
4
×
(
31
−
25
)
=
−
4
×
31
+
5
×
25
1=25-4 \times 6=25-4\times (31-25)=-4\times 31+5\times 25
1=25−4×6=25−4×(31−25)=−4×31+5×25因此,
25
25
25模
31
31
31的逆元为
5
5
5,
31
31
31模
25
25
25的逆元为
−
4
+
25
=
21
-4+25=21
−4+25=21。
5. 欧拉函数
欧拉函数(Euler) φ ( n ) \varphi(n) φ(n)为对于一个正整数 n n n,与其互素且小于等于 n n n的正整数个数。
φ ( n ) \varphi(n) φ(n)具有如下性质:
-
如果 p p p是素数,则 φ ( p ) = p − 1 \varphi(p) = p-1 φ(p)=p−1
-
设 n = m 1 m 2 ,且 g c d ( m 1 , m 2 ) = 1 n=m_1m_2,且gcd(m_1,m_2)=1 n=m1m2,且gcd(m1,m2)=1,则 φ ( n ) = φ ( m 1 ) φ ( m 2 ) \varphi(n) = \varphi(m_1)\varphi(m_2) φ(n)=φ(m1)φ(m2)
-
对于整数 n ≥ 2 n\ge 2 n≥2,不计次序, n n n具有唯一分解式: n = p 1 α 1 p 2 α 2 . . . p m α m n=p_1^{\alpha_1}p_2^{\alpha_2}...p_m^{\alpha_m} n=p1α1p2α2...pmαm其中 p 1 , p 2 , . . . . , p m p_1,p_2,....,p_m p1,p2,....,pm为两两不同的素数, α 1 ≥ 1 , 1 ≤ i ≤ m \alpha_1 \ge 1, 1 \le i \le m α1≥1,1≤i≤m,则 φ ( n ) = ( p 1 α 1 − p 1 α 1 − 1 ) ( p 2 α 2 − p 2 α 2 − 1 ) . . . . ( p m α m − p m α m − m ) = n ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) . . . ( 1 − 1 p m ) \varphi(n) = (p_1^{\alpha_1} - p_1^{\alpha_1-1})(p_2^{\alpha_2} - p_2^{\alpha_2-1})....(p_m^{\alpha_m} - p_m^{\alpha_m-m}) = n(1-\frac{1}{p_1})(1-\frac{1}{p_2})...(1-\frac{1}{p_m}) φ(n)=(p1α1−p1α1−1)(p2α2−p2α2−1)....(pmαm−pmαm−m)=n(1−p11)(1−p21)...(1−pm1)举例
对于 n = 20 = 2 2 × 5 n=20=2^2 \times 5 n=20=22×5, φ ( 20 ) = φ ( 2 2 × 5 ) = ( 2 2 − 2 2 − 1 ) × ( 5 1 − 5 1 − 1 ) = 2 × 4 = 8 \varphi(20) = \varphi(2^2 \times 5) =(2^2-2^{2-1}) \times (5^1-5^{1-1}) = 2 \times 4 = 8 φ(20)=φ(22×5)=(22−22−1)×(51−51−1)=2×4=8
6. 欧拉定理
数论中的欧拉定理(Euler Theorem)又称费马-欧拉定理或欧拉函数定理。
对于任意整数 a , n a,n a,n,若 g c d ( a , n ) = 1 gcd(a,n)=1 gcd(a,n)=1,即 a a a与 n n n互素,则 a φ ( n ) ≡ 1 m o d n a^{\varphi(n)}\equiv 1 \bmod n aφ(n)≡1modneg: 利用欧拉定理简化大指数的幂运算:计算 2 1000000 m o d 77 2^{1000000} \bmod 77 21000000mod77
由于
gcd
(
2
,
77
)
=
1
\gcd(2,77)=1
gcd(2,77)=1,根据欧拉函数,
φ
(
77
)
=
φ
(
7
×
11
)
=
φ
(
7
)
×
φ
(
11
)
=
6
×
10
=
60
\varphi(77)=\varphi(7\times 11)=\varphi(7) \times \varphi(11) = 6 \times 10=60
φ(77)=φ(7×11)=φ(7)×φ(11)=6×10=60
根据欧拉定理
2
60
m
o
d
77
≡
1
m
o
d
77
2^{60}\bmod 77 \equiv 1 \bmod 77
260mod77≡1mod77由于
1
,
000
,
000
=
16666
×
60
+
40
1,000,000=16666\times 60+40
1,000,000=16666×60+40因此
2
1000000
m
o
d
77
≡
2
16666
×
60
+
40
m
o
d
77
≡
(
2
16666
×
60
m
o
d
77
)
(
2
40
m
o
d
77
)
≡
(
(
2
60
m
o
d
77
)
16666
m
o
d
77
)
(
2
40
m
o
d
77
)
≡
2
40
m
o
d
77
≡
(
2
10
m
o
d
77
)
4
m
o
d
77
≡
(
2
3
2
m
o
d
77
)
2
m
o
d
77
≡
6
7
2
m
o
d
77
≡
23
\begin{aligned} 2^{1 000 000} \bmod 77 \equiv \; & 2^{16666\times 60+40}\bmod 77 \\ \equiv \; & (2^{16666\times 60}\bmod 77)(2^{40} \bmod 77) \\ \equiv \; & ((2^{60} \bmod 77)^{16666} \bmod 77)(2^{40} \bmod 77) \\ \equiv \; & 2^{40} \bmod 77 \\ \equiv \; & (2^{10} \bmod 77)^{4} \bmod 77 \\ \equiv \; & (23^{2} \bmod 77)^{2} \bmod 77 \\ \equiv \; & 67^{2} \bmod 77 \equiv 23 \\ \end{aligned}
21000000mod77≡≡≡≡≡≡≡216666×60+40mod77(216666×60mod77)(240mod77)((260mod77)16666mod77)(240mod77)240mod77(210mod77)4mod77(232mod77)2mod77672mod77≡23
7. 费马小定理
如果 p p p是一个素数,且 a a a是不能被 p p p整除的正整数,那么 a p − 1 ≡ 1 m o d p a^{p-1}\equiv 1 \bmod p ap−1≡1modp或者 a p ≡ a m o d p a^{p}\equiv a \bmod p ap≡amodp费马小定理是欧拉定理中 n n n为素数的情况。
8. 一次同余方程
如果 a , b a,b a,b都是整数, n n n是一个正整数,当 a m o d n ≠ 0 a \bmod n \neq 0 amodn=0时, a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn称为模 n n n的一次同余方程,或者线性同余方程。
一次同余方程 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn有解当且仅当方程 a x + n y = b ax+ny=b ax+ny=b有整数解,方程 a x + n y = b ax+ny=b ax+ny=b有整数解的充要条件是 gcd ( a , n ) ∣ b \gcd(a,n)|b gcd(a,n)∣b。
如果 x 0 x_0 x0是满足 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn的一个整数,即 a x 0 ≡ b m o d n ax_0 \equiv b \bmod n ax0≡bmodn,则满足 x ≡ x 0 m o d n x\equiv x_0 \bmod n x≡x0modn的所有整数 x x x也能满足 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn,即包含 x x x的模 n n n同余类中的整数都满足 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn。包含 x x x的模 n n n同余类 [ x 0 ] [x_0] [x0]称为 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn的一个解,即同余方程的一个解包含一个类的所有整数。
同余方程 a x ≡ b m o d n ax \equiv b \bmod n ax≡bmodn有解当且仅当 gcd ( a , n ) ∣ b \gcd(a,n)|b gcd(a,n)∣b,并且,如果这个同余方程有解,则有 gcd ( a , n ) \gcd(a,n) gcd(a,n)个不同的解。
9. 中国剩余定理
我国古代的《孙子算经》中提出了这样的问题:“今有物不知数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”该问题可用一次同余方程组表示: { x ≡ 2 m o d 3 x ≡ 3 m o d 5 x ≡ 2 m o d 7 \begin{cases} x \equiv 2 \bmod 3 \\ x \equiv 3 \bmod 5 \\ x \equiv 2 \bmod 7 \end{cases} ⎩ ⎨ ⎧x≡2mod3x≡3mod5x≡2mod7中国剩余定理(孙子定理):设 m 1 , m 2 , … , m r m_1,m_2,…,m_r m1,m2,…,mr,是 r ≥ 2 r\ge 2 r≥2个两两互素的大于 1 1 1的整数,令 M = m 1 m 2 . . . m r M=m_1m_2...m_r M=m1m2...mr,则同余方程组 { x ≡ a 1 m o d m 1 x ≡ a 2 m o d m 2 ⋮ x ≡ x r m o d m r \begin{cases} x \equiv a_1 \bmod m_1 \\ x \equiv a_2 \bmod m_2 \\ \;\;\;\;\;\;\;\;\; \vdots \\x \equiv x_r \bmod m_r \end{cases} ⎩ ⎨ ⎧x≡a1modm1x≡a2modm2⋮x≡xrmodmreg: 我国古代数学家杨辉在1275年所写的《续古摘奇算法》有如下题目:二数余一,五数余二,七数余三,九数余四,问本数。
由题意得 { x ≡ 1 m o d 2 x ≡ 2 m o d 5 x ≡ 3 m o d 7 x ≡ 4 m o d 9 \begin{cases} x \equiv 1 \bmod 2 \\ x \equiv 2 \bmod 5 \\ x \equiv 3 \bmod 7 \\ x \equiv 4 \bmod 9 \end{cases} ⎩ ⎨ ⎧x≡1mod2x≡2mod5x≡3mod7x≡4mod9根据中国剩余定理, m 1 = 2 , m 2 = 5 , m 3 = 7 , m 4 = 9 ; a 1 , a 2 = 2 , a 3 = 3 , a 4 = 4 , M = 2 × 5 × 7 × 9 = 630 m_1=2,m_2=5,m_3=7,m_4=9;a_1,a_2=2,a_3=3,a_4=4,M=2 \times 5\times 7\times 9=630 m1=2,m2=5,m3=7,m4=9;a1,a2=2,a3=3,a4=4,M=2×5×7×9=630
则 M 1 = 630 / 2 = 315 , M 2 = 630 / 5 = 126 , M 3 = 630 / 7 = 90 , M 4 = 630 / 9 = 70 M_1=630/2=315,M_2=630/5=126,M_3=630/7=90,M_4=630/9=70 M1=630/2=315,M2=630/5=126,M3=630/7=90,M4=630/9=70
根据 315 b 1 ≡ 1 m o d 2 315b_1 \equiv 1\bmod 2 315b1≡1mod2,解得 b 1 ≡ 1 m o d 2 b_1\equiv 1\bmod 2 b1≡1mod2,同理有 b 2 ≡ 1 m o d 5 , b 3 ≡ 6 m o d 7 , b 4 ≡ 4 m o d 9 b_2\equiv 1\bmod 5,b_3\equiv 6\bmod 7,b_4\equiv 4\bmod 9 b2≡1mod5,b3≡6mod7,b4≡4mod9
因此, x = 315 + 126 × 2 + 90 × 6 × 3 + 70 × 4 × 4 ≡ 157 m o d 630 x=315+126\times 2+90\times6\times3+70\times4\times4 \equiv157\bmod 630 x=315+126×2+90×6×3+70×4×4≡157mod630
10. 二次剩余和Blum整数
如果 p p p是素数,且 a < p a<p a<p,如果 x 2 ≡ a m o d p x^2 \equiv a \bmod p x2≡amodp有解,则称 a a a是对模 p p p的二次剩余。
不是所有的 a a a的值都满足这个特性。如果a是对模n的一个二次剩余,那么它必定是对模 n n n所有素因子的二次剩余。
例如
p
=
7
p=7
p=7,二次剩余是
1
,
2
,
4
1,2,4
1,2,4
{
1
2
=
1
≡
1
m
o
d
7
2
2
=
4
≡
4
m
o
d
7
3
2
=
9
≡
2
m
o
d
7
4
2
=
16
≡
2
m
o
d
7
5
2
=
25
≡
4
m
o
d
7
6
2
=
36
≡
1
m
o
d
7
\begin{cases} 1^2 = 1 \equiv 1 \bmod 7 \\ 2^2 = 4 \equiv 4 \bmod 7 \\ 3^2 = 9 \equiv 2 \bmod 7 \\ 4^2 = 16 \equiv 2 \bmod 7 \\ 5^2 = 25 \equiv 4 \bmod 7 \\ 6^2 = 36 \equiv 1 \bmod 7 \\ \end{cases}
⎩
⎨
⎧12=1≡1mod722=4≡4mod732=9≡2mod742=16≡2mod752=25≡4mod762=36≡1mod7
没有
x
x
x值可满足下列方程:
{
x
2
≡
3
m
o
d
7
x
2
≡
5
m
o
d
7
x
2
≡
6
m
o
d
7
\begin{cases} x^2 \equiv 3 \bmod 7 \\ x^2 \equiv 5 \bmod 7 \\x^2 \equiv 6 \bmod 7\end{cases}
⎩
⎨
⎧x2≡3mod7x2≡5mod7x2≡6mod7所以,
3
,
5
,
6
3,5,6
3,5,6称为模
7
7
7的二次非剩余。
易证明,当 p p p为奇数时,模 p p p的二次剩余数目恰好是 ( p − 1 ) / 2 (p-1)/2 (p−1)/2,且与其二次非剩余的数目相同。
如果 a a a是模 p p p的二次剩余,那么 a a a恰好有两个平方根:
- 其中一个在 1 ∼ ( p − 1 ) / 2 1 \sim(p-1)/2 1∼(p−1)/2 之间;
- 另一个在
(
p
+
1
)
/
2
∼
(
p
−
1
)
(p+1)/2 \sim (p-1)
(p+1)/2∼(p−1)之间。
此外,这两个平方根中的一个也是模的二次剩余,被称为主平方根。
如果 n n n是两个素数 p p p和 q q q之积,那么模 n n n恰好有 ( p − 1 ) ( q − 1 ) / 4 (p-1)(q-1)/4 (p−1)(q−1)/4个二次剩余。如果 a a a是对模 n n n的一个二次剩余,那么它必定是对模 n n n的所有素因子的二次剩余。这是因为要成为模 n n n的平方,其余数必须有模 p p p的平方和模 q q q的平方。例如,模 35 35 35有 11 11 11个二次余: 1 , 4 , 9 , 11 , 14 , 15 , 16 , 21 , 25 , 29 , 30 1,4,9,11,14,15,16,21,25,29,30 1,4,9,11,14,15,16,21,25,29,30。每一个二次剩余恰好有 4 4 4个平方根。
如果 p p p和 q q q是两个素数,且都是模 4 4 4余 3 3 3的,那么 n = p × q n=p \times q n=p×q称为Blum 整数。如果 n n n是一个Blum整数,它的每一个二次剩余恰好有 4 4 4个平方根,其中一个也是模 n n n的二次剩余,称为主平方根。例如, 139 139 139 模$ 437$ 的主平方根是 24 24 24,其他三个平方根分别为 185 185 185, 252 252 252 和 413 413 413。