class="markdown_views prism-github-gist">
回顾
在开始新的话题之前,先来回顾上一篇的欧拉定理和费马小定理:
if gcd(a,m)=1,aφ(m)≡1(modm)
if p为素数,ap≡a(modp)
欧拉定理的证明,主要的点是在
gcd(a,m)=1下
axi遍历一个简化剩余系,所以
∏i=1φ(m)xi≡∏i=1φ(m)axi(modm)
两边同除连乘,得
aφ(m)≡1(modm).
费马定理的证明,主要是:
- gcd(a,p)=1下应用欧拉定理到ap−1≡1(modp),然后两边同乘一个对p互质的a,Q.E.D.
- gcd(a,p)≠1下,只有p∣a.就没什么好说的了.
下面是一个初步的应用.
quesition: 220170226(mod7)
solution:φ(7)=6,由欧拉定理,26≡1(mod7)则26k≡1(mod7)由 20170226(mod6)=2,有220170226=26k⋅22∴220170226≡4(mod7)注意是1⋅4=4而不是1+4=5!
由上一题可见,运用欧拉定理的前提是求出
φ(m),所以接下来的几个定理将提出大数情况下
φ(m)的求法.
大数φ(m)的求解
Theorem:if gcd(m,n)=1→φ(mn)=φ(m)×φ(n)
解释:
由定理
x遍历n的一个简化剩余系,y遍历m的一个简化剩余系时,mx+ny遍历mn的简化剩余系(简化剩余系的交叉联合遍历) ,
{xi}有
φ(n)个,
{yi}有
φ(m)个,于是对于mn的简化剩余类的每一个元素
f(x,y),有
f(x,y)=mx+ny唯一对应.那么对于
f(x),有
φ(m)×φ(n)个方案(x有
φ(n)个,y有
φ(m)个,别反了).于是
f(x)有
φ(m)×φ(n)个,即
φ(mn)=φ(m)×φ(n).
Theorem:if p为素数,e为正整数,φ(pe)=pe−pe−1
解释:
对于素数p,没有除了1,p以外的其他因数,对于
pe,存在且仅存在的因数只有:
{pi×p}(i∈z且i∈