欧拉函数 φ ( n ) \varphi(n) φ(n)
- 概念:小于 n 且与 n 互质的正整数的个数。
- 具体可见这里
模 n 的既约剩余系
- 概念:由 φ ( n ) \varphi(n) φ(n)个整数构成的集合,其中每个元素均与 n 互质,且任何两个元素模 n 不同余。
- 举例:{1,3,5,7}是模 8 的一个既约剩余系。如果把每个元素乘上与 8 互质的数d,得到的集合也是模 8 的一个既约剩余系,比如乘 3 得{3,9,15,21}。要求 g c d ( d , n ) = 1 gcd(d,n)=1 gcd(d,n)=1。
把各个元素相乘可以得到
3
4
∗
1
∗
3
∗
5
∗
7
≡
1
∗
3
∗
5
∗
7
(
%
m
)
3^{4}*1 * 3 * 5 * 7\equiv1*3*5*7(\%m)
34∗1∗3∗5∗7≡1∗3∗5∗7(%m)
把1,3,5,7打包看成 a ,各数相乘还是和 m 互质,所以存在 a 在模 m 下的逆元
a
−
1
a^{-1}
a−1可得到
d
φ
(
m
)
=
1
(
%
m
)
d^{\varphi(m)}=1(\%m)
dφ(m)=1(%m)
d
∗
d
φ
(
m
)
−
1
=
1
(
%
m
)
d*d^{\varphi(m)-1}=1(\%m)
d∗dφ(m)−1=1(%m)
就得到了 d 在模 m 下的逆元。所以求解逆元可以用欧拉定理来求,配合快速幂,复杂度
O
(
l
o
g
n
)
O(logn)
O(logn)
欧拉定理
- 性质:设 m 为一正整数,d 是一个整数,m ,d 互质,则 d φ ( m ) ≡ 1 ( % m ) d^{\varphi(m)}\equiv1(\% m) dφ(m)≡1(%m)
- 简单证明在上。
- 应用:求解同余方程
a
x
≡
b
(
%
m
)
ax\equiv b(\% m)
ax≡b(%m)
两边同乘 a 的逆,得 x ≡ b ∗ a φ ( m ) − 1 x\equiv b*a^{\varphi(m)-1} x≡b∗aφ(m)−1