一、互质与欧拉函数
互质:
∀
a
,
b
∈
N
\forall a, b \in N
∀a,b∈N,如果 gcd(a, b) = 1,则称 a, b 互质。
对于三个或以上的数,我们把 gcd(a, b, c) = 1 的情况称为 a, b, c 互质。把 gcd(a, b) = gcd(a, c) = gcd(b, c) = 1 的情况称为 a, b, c 两两互质。
欧拉函数:
1 ~ N 中的与 N 互质的整数的个数叫做欧拉函数 记做
φ
(
N
)
\varphi(N)
φ(N)。
在算术基本定理中
n
=
p
1
c
1
×
p
2
c
2
×
⋯
×
p
m
c
m
n = p_1^{c_1} \times p_2^{c_2} \times \cdots \times p_m^{c_m}
n=p1c1×p2c2×⋯×pmcm则:
φ
(
N
)
=
N
×
p
1
−
1
p
1
×
p
2
−
1
p
2
×
⋯
×
p
m
−
1
p
m
=
N
×
∏
质
数
p
∣
n
(
1
−
1
p
)
\varphi(N) = N \times \frac{p_1-1}{p_1} \times \frac{p_2-1}{p_2} \times \cdots \times \frac{p_m-1}{p_m} = N \times \prod_{质数p \mid n}(1-\frac{1}{p})
φ(N)=N×p1p1−1×p2p2−1×⋯×pmpm−1=N×质数p∣n∏(1−p1)
证明:
要求出
φ
(
N
)
\varphi(N)
φ(N),我们只需求出所有与 N 不互质的数的个数,用总数减去它就好了,而与 N 不互质的数一定是 N 的质因数的 k 倍 (
k
∈
Z
k\in Z
k∈Z)。所以我们只需要找出 N 的所有质因数及其小于 N 的所有倍数的和就好了。
首先假设 p 是 N 的一个质因数,则 p 的小于 N 的倍数就能表示为:
p
,
2
p
,
3
p
,
⋯
(
N
p
)
×
p
p,\; 2p,\; 3p,\; \cdots \; (\frac{N}{p} ) \times p
p,2p,3p,⋯(pN)×p
很容易看出,这个序列一共有
N
p
\frac{N}{p}
pN 个数。同理,我们可以说明另一个 N 的质因数 q 的小于 N 的倍数的总数是
N
q
\frac{N}{q}
qN 个。但是,我们发现这些数 中是有重合的部分的。下面这个序列的数就被算了两次:
p
q
,
2
p
q
,
3
p
q
,
⋯
,
N
p
q
×
p
q
pq, \; 2pq, \; 3pq, \; \cdots, \; \frac{N}{pq}\times pq
pq,2pq,3pq,⋯,pqN×pq
这共
N
p
q
\frac{N}{pq}
pqN 个数应该被加回来一次。所以我们得到了1 ~ N 中不与, N 含有共同质因子 p, q 的数的个数为:
N
−
N
p
−
N
q
+
N
p
q
=
N
×
(
1
−
1
p
−
1
q
+
1
p
q
)
=
N
(
1
−
1
p
)
(
1
−
1
q
)
N-\frac{N}{p} - \frac{N}{q} + \frac{N}{pq} = N\times (1 - \frac{1}{p} - \frac{1}{q} + \frac{1}{pq}) = N(1-\frac{1}{p})(1-\frac{1}{q})
N−pN−qN+pqN=N×(1−p1−q1+pq1)=N(1−p1)(1−q1)
设
n
=
∏
p
i
k
i
n=\prod p_i^{k_i}
n=∏piki
以此类推,我们就可以得到
φ
(
n
)
=
∏
p
∣
N
(
1
−
1
p
)
\varphi(n) = \prod_{p\mid N}(1-\frac{1}{p})
φ(n)=∏p∣N(1−p1)。
二、同余类与剩余系
对于
∀
a
∈
[
0
,
m
−
1
]
\forall a \in [0, m-1]
∀a∈[0,m−1],与 a 模 m 同余的集合可以表示成这样:
{
x
∣
x
=
k
m
+
a
,
k
∈
Z
}
\lbrace x\mid x = km + a, \; k \in Z \rbrace
{x∣x=km+a,k∈Z}。我们称这个集合为模 m 的一个同余类。记为
a
ˉ
\bar{a}
aˉ
模 m 的同余类一共有 m 个,他们分别是
0
ˉ
,
1
ˉ
,
2
ˉ
,
⋯
,
m
−
1
‾
\bar{0}, \; \bar{1}, \; \bar{2}, \; \cdots , \; \overline{m-1}
0ˉ,1ˉ,2ˉ,⋯,m−1。它们一起构成了模 m 的完全剩余系。
1 ~ m 中与 m 互质的数代表的同余类共有
φ
(
m
)
\varphi(m)
φ(m) 个,他们构成了 m 的简化剩余系。
简化剩余系有一个重要的性质,就是它对于模 m 乘法封闭。这是因为我们取
∀
a
,
b
∈
[
1
,
m
]
\forall a, b \in [1, m]
∀a,b∈[1,m] 且 gcd(a, m) = gcd(b, m) = 1。则 ab 不可能与 m 含有相同的质因子,因为 ab 除了 a 和 b 没有其他的质因子了。所以 ab 也和 m 互质。也就是说 ab mod m 也属于简化剩余系。
三、费马小定理与欧拉定理:
费马小定理
如果 p 是质数,则对于任意整数 a,都有 a p ≡ a ( m o d p ) a^p \equiv a \pmod p ap≡a(modp)
欧拉定理
若正整数 a, n 互质,则 a φ ( n ) ≡ 1 ( m o d n ) a^{\varphi(n)} \equiv 1 \pmod n aφ(n)≡1(modn) 其中 φ ( n ) \varphi(n) φ(n) 为欧拉函数。
证明:
假设 n 的简化剩余系为
{
X
1
‾
,
X
2
‾
,
X
3
‾
,
⋯
,
X
φ
(
n
)
‾
}
\lbrace \overline{X_1}, \overline{X_2}, \overline{X_3}, \cdots, \overline{X_{\varphi(n)}} \rbrace
{X1,X2,X3,⋯,Xφ(n)}。我们可以证明
{
a
X
1
‾
,
X
a
2
‾
,
a
X
3
‾
,
⋯
,
a
X
φ
(
n
)
‾
}
\lbrace \overline{aX_1}, \overline{Xa_2}, \overline{aX_3}, \cdots, \overline{aX_{\varphi(n)}} \rbrace
{aX1,Xa2,aX3,⋯,aXφ(n)}也是 n 的简化剩余系。
反证法,对于
∀
X
i
,
X
j
\forall X_i, X_j
∀Xi,Xj,如果
a
X
i
≡
a
X
j
(
m
o
d
n
)
aX_i \equiv aX_j \pmod n
aXi≡aXj(modn)
则
a
(
X
i
−
X
j
)
≡
0
(
m
o
d
n
)
a(X_i-X_j) \equiv 0 \pmod n
a(Xi−Xj)≡0(modn)
就是
(
a
m
o
d
n
×
(
X
i
−
X
j
)
m
o
d
n
)
m
o
d
n
=
0
(a \mod n \times (X_i-X_j)\mod n)\mod n = 0
(amodn×(Xi−Xj)modn)modn=0
又因为我们知道 a 与 n 互质,所以
a
m
o
d
n
a\mod n
amodn 不为0,所以只能是
X
i
−
X
j
≡
0
(
m
o
d
n
)
X_i-X_j \equiv 0 \pmod n
Xi−Xj≡0(modn)
也就是
X
i
≡
X
j
(
m
o
d
n
)
X_i \equiv X_j \pmod n
Xi≡Xj(modn)
又因为
X
i
X_i
Xi 和
X
j
X_j
Xj 在简化剩余系中所以
X
i
≡
X
j
(
m
o
d
n
)
X_i \equiv X_j \pmod n
Xi≡Xj(modn)只要在
X
i
≠
X
j
X_i \neq X_j
Xi=Xj时必定不成立。
也就是说这也就说明了当
X
i
≠
X
j
X_i \neq X_j
Xi=Xj时 一定有
a
X
i
m
o
d
n
≠
a
X
j
m
o
d
n
aX_i \mod n \neq aX_j \mod n
aXimodn=aXjmodn
所以 a X i aX_i aXi 和 a X j aX_j aXj 可以作为两个不同的同余类的代表。
又因为我们在上面讲过,简化剩余系对于模 n 乘法封闭,所以
a
X
i
‾
\overline{aX_i}
aXi也在简化剩余系当中。所以
{
X
1
‾
,
X
2
‾
,
X
3
‾
,
⋯
,
X
φ
(
n
)
‾
}
\lbrace \overline{X_1}, \overline{X_2}, \overline{X_3}, \cdots, \overline{X_{\varphi(n)}} \rbrace
{X1,X2,X3,⋯,Xφ(n)} 和
{
a
X
1
‾
,
X
a
2
‾
,
a
X
3
‾
,
⋯
,
a
X
φ
(
n
)
‾
}
\lbrace \overline{aX_1}, \overline{Xa_2}, \overline{aX_3}, \cdots, \overline{aX_{\varphi(n)}} \rbrace
{aX1,Xa2,aX3,⋯,aXφ(n)}都是 n 的简化剩余系。
综上所述:
a
φ
(
n
)
a
1
a
2
⋯
a
φ
(
n
)
≡
(
a
a
1
)
(
a
a
2
)
⋯
(
a
a
φ
(
n
)
)
≡
a
1
a
2
⋯
a
φ
(
n
)
(
m
o
d
n
)
a^{\varphi(n)}a_1a_2\cdots a_{\varphi(n)} \equiv (aa_1)(aa_2)\cdots (aa_{\varphi(n)}) \equiv a_1a_2\cdots a_{\varphi(n)} \pmod n
aφ(n)a1a2⋯aφ(n)≡(aa1)(aa2)⋯(aaφ(n))≡a1a2⋯aφ(n)(modn)
因此我们得到了:
a
φ
(
n
)
≡
1
(
m
o
d
n
)
a^{\varphi(n)} \equiv 1\pmod n
aφ(n)≡1(modn)
欧拉定理证完了之后我们就可以发现费马小定理其实是欧拉定理的一个特殊情况,当 n 为质数时(后面用 p 表示),
φ
(
p
)
=
p
−
1
\varphi(p) = p-1
φ(p)=p−1,所以我们得到:
a
φ
(
p
)
≡
a
p
−
1
≡
1
(
m
o
d
p
)
a^{\varphi(p)} \equiv a^{p-1} \equiv 1 \pmod p
aφ(p)≡ap−1≡1(modp)
两边同时乘上 a,得到了:
a
p
≡
a
(
m
o
d
p
)
a^p \equiv a \pmod p
ap≡a(modp)
证毕
参考资料:《算法竞赛进阶指南》和 另一个欧拉定理的证明:https://blog.csdn.net/ymzqwq/article/details/96269772