欧拉定理
若(gcd(a,m)=1),则满足(a^{varphi (m)} equiv 1 pmod m)
证明
设([1,m))内与(m)互质的数为数列({b_n}={b_1,b_2,b_3,cdots,b_{varphi (m)}})
因为(a,m)互质且(b_i,m)互质,所以数列({A_n}={ab_1,ab_2,ab_3,cdots,ab_{varphi(m)}})中每个数都与(m)互质,且两两不同。
同时,由(gcd(ab_i,m)=1)可得(gcd(ab_i mod m,m)=1),即每个(A_i)除以(m)的余数都与(m)互质,且余数两两不同。
可以用反证法推出“余数两两不同”。假设存在(ab_i equiv ab_j pmod m),那么(ab_i-ab_j=km (k in mathbb{Z})),即(a(b_i-b_j)=km)。由于(a)与(m)互质,那么只能是(m mid (b_i-b_j)),即(b_i equiv b_j pmod m)。这与(1 leq b_i,b_j < m)且(b_i eq b_j)的题设相违背,因此假设不成立。
所以({A_n})中的每个数一定与({b_n})中的一个数同余,且一一对应。
所以(a^{varphi (m)}prod_{i=1}^{varphi (m)}b_i equiv prod_{i=1}^{varphi (m)}ab_i equiv prod_{i=1}^{varphi (m)}b_i pmod m)
所以(m mid a^{varphi (m)}prod_{i=1}^{varphi (m)}b_i-prod_{i=1}^{varphi (m)}b_i)
即(m mid (a^{varphi (m)}-1)prod_{i=1}^{varphi (m)}b_i)
又因为(gcd(m,prod_{i=1}^{varphi (m)}b_i)=1)
所以(m mid a^{varphi (m)}-1)
即(a^{varphi (m)} equiv 1 pmod m)
费马小定理
当(p)为质数,则(a^{p-1} equiv 1 pmod p)
证明:因为(p)为质数时,(varphi(p)=p-1)
扩展欧拉定理
扩展到不要求互质。
证明
case 1
当(gcd(a,m)=1)时,由欧拉定理知(a^{varphi (m)} equiv 1 pmod m)
我们可以把指数(c)拆成(k imes varphi(m) + left(c mod varphi(m) ight)),那么(a^c=left(a^{varphi(m)} ight)^k imes a^{c mod varphi(m)}),再取模,就得到
case 2
当(gcd(a,m) eq 1)且(c < varphi(m))时,
(无需证明)
case 3
当(gcd(a,m) eq 1)且(cgeq varphi(m))时,
证明:
1.转化
要证明上式,只需证(a)的任意一个质因子(p_i)满足({p_i}^c equiv {p_i}^{(c mod varphi(m))+varphi(m)} pmod{m})
1.1 证明转化的正确性
如果上式成立,设(a)质因数分解的结果为(a=p_1^{r_1}p_2^{r_2}p_3^{r_3}cdots),其中(p_i)为质因数,(r_i)为其对应的指数
根据同余式可乘可推出(({p_i}^c)^{r_i} equiv ( {p_i}^{(c mod varphi(m))+varphi(m)} )^{r_i} pmod{m})
进而((p_1^{r_1}p_2^{r_2}p_3^{r_3}cdots)^{c} equiv (p_1^{r_1}p_2^{r_2}p_3^{r_3}cdots)^{(c mod varphi(m))+varphi(m)} pmod{m})
发现这就是(a^c equiv a^{left(c mod varphi(m) ight)+varphi(m)} pmod m)
2.证明转化后的式子
那么现在要证明的东西已经转化,考虑如何证得({p_i}^c equiv {p_i}^{(c mod varphi(m))+varphi(m)} pmod{m})(以下简称(p_i)为(p))
2.1 若(m,p)互质
问题转化为case 1的情况。为了防止你翻上去,我再推一遍:
(gcd(m,p)=1 Longrightarrow p^{varphi(m)} equiv 1 pmod m)(欧拉定理)
可以将指数(c)拆成(k imes varphi(m) + left(c mod varphi(m) ight)),那么(p^c=(p^{varphi(m)})^k imes p^{c mod varphi(m)})
再对(m)取模,就得到(p^c equiv (p^{varphi(m)})^k imes p^{c mod varphi(m)} equiv 1^k imes p^{c mod varphi(m)} equiv p^{c mod varphi(m)} equiv p^{(c mod varphi(m))+varphi(m)} pmod m)
2.2 若(p,m)不互质
由于(p)为质数,则(m)必定(geq 2p)。
设(m=s imes p^r),其中(r=lfloorlog_p{m} floor)(看作把(m)质因数分解后含有(p^r),剩下的都在(s)里,剩下的(s)不含因数(p)),那么(gcd(s,p^r)=gcd(s,p)=1)
根据欧拉定理(p^{varphi(s)} equiv 1 pmod s)
因为(s,p^r)互质,所以(varphi(m)=varphi(s) imes varphi(p^r))(欧拉函数是积性函数),即(varphi(s) mid varphi(m))
结合欧拉定理(p^{varphi(s)} equiv 1 pmod{s})可得
(p^{varphi(m)} = (p^{varphi(s)})^{varphi(p^r)} equiv 1^{varphi(p^r)} = 1 pmod{s})
同时乘以(q^r)得到
(p^{r+varphi(m)} equiv p^r pmod{s imes p^r})
(m=s imes p^r),则(p^{r+varphi(m)} equiv p^r pmod{m})
题设条件(cgeq varphi(m)),显然(varphi(m)geq r)
本蒟蒻觉得这一点也不显然,花了好久才证明出(varphi(m)geq r)……QAQ
下面附上我的证明方法(我觉得应该有更简单的方法)首先(varphi(m)=varphi(s) imes varphi(q^r) geq varphi(p^r))(等号在(s=1,2)时取到)
(varphi(p^r)=p^r-p^{r-1}=(p-1) imes p^{r-1} geq p^{r-1})((pgeq 2),等号在(p=2)时取到)
数学归纳法证(p^{r-1}geq r):(r=1)时显然成立,假设(r=i)时(p^{i-1}geq i)成立,可推知(p^{i}=p imes p^{i-1}geq 2 imes p^{i-1}=p^{i-1}+p^{i-1}geq p^{i-1}+1=i+1)成立,因此(p^{r-1}geq r)对任意的(p,rin mathbb{Z},pgeq 2,rgeq 1)成立
把上面所有的不等号串起来,就是(varphi(m)geq r)
那么(p^c=p^{c-r} imes p^r equiv p^{c-r} imes p^{r+varphi(m)}=p^{varphi(m)+c} pmod m)
记(f(x)=xmod m;(xgeq varphi(m))),上式表明:对于任意的正整数(x),(f(x+varphi(m))=f(x))。反过来(f(x)=f(x-varphi(m))),但要注意定义域:此时(x)要满足(x-varphi(m)geq varphi(m)),即(xgeq 2varphi(m))。
如果要计算(f(c)),可以递推上面那个式子,每次让(c-=varphi(m)),但只有(cgeq 2varphi(m))时才可以这样操作。
我们知道,如果递推条件改成(cgeq varphi(m)),显然最后递推得到的值为(cmod varphi(m))。但现在条件是(cgeq 2varphi(m)),发现递推条件相差为(varphi(m)),(cgeq 2varphi(m))比(cgeq varphi(m))少减一次(varphi(m))。所以只需把这一次(varphi(m))加回来就好了,即(f(c)=f((cmod varphi(m))+varphi(m))),也就是
用途
再也不用担心指数爆炸了!!指数也可以取模了
题目
BZOJ3884(推公式)
BZOJ4869(+线段树)
参考CSDN博主「CaptainHarryChen」的证明思路。十分感谢。