网上现在讲欧拉定理证明的文章好少啊,于是博主就在学习之后萌发了写一篇证明的想法,供大家参考。其实主要是自己找资料找得太辛苦,想为后来人节约一点时间罢了。
欧拉函数:
记为ϕ(n)\phi(n)ϕ(n)或φ(n)\varphi(n)φ(n),程序中一般写作phi[n]phi[n]phi[n],读法为faifaifai,表示小于nnn且与nnn互质的数的个数。形式化一点的描述为ϕ(n)=∑i=1n[gcd(i,n)==1]\phi(n)=\sum_{i=1}^n[gcd(i,n)==1]ϕ(n)=i=1∑n[gcd(i,n)==1]
其中[][][]符号表示若其中表达式为真,则这一项的值为1,否则为0。
不过这个符号φ\varphiφ更多用作推式子时候的变量而不是函数名
欧拉定理:
一般的欧拉定理叙述为:对于∀a,m\forall a,m∀a,m,若gcd(a,m)=1gcd(a,m)=1gcd(a,m)=1,则∀n,an≡anmod  ϕ(m)(mod m)\forall n,a^n\equiv a^{n\mod \phi(m)}(mod\text{ }m)∀n,an≡anmodϕ(m)(mod m)
证明:
将111至mmm中所有与mmm互质的数列出,记为x1,x2...xϕ(m)x_1,x_2...x_{\phi(m)}x1,x2...xϕ(m)。
每一项乘上aaa,形成的数列是ax1,ax2...axϕ(m)ax_1,ax_2...ax_{\phi(m)}ax1,ax2...axϕ(m)。
可以证明,在模mmm意义下,这两个数列是等价的,即它们可以构成一一对应,因为gcd(a,m)==1gcd(a,m)==1gcd(a,m)==1。(证明很简单,这里就不详讲了)
那么我们将两个数列分别相乘,得到∏i=1ϕ(m)xi≡∏i=1ϕ(m)axi(mod m)\prod_{i=1}^{\phi(m)}x_i\equiv \prod_{i=1}^{\phi(m)}ax_i(mod\text{ }m)i=1∏ϕ(m)xi≡i=1∏ϕ(m)axi(mod m)
即∏i=1ϕ(m)xi≡aϕ(m)∏i=1ϕ(m)xi(mod m)\prod_{i=1}^{\phi(m)}x_i\equiv a^{\phi(m)}\prod_{i=1}^{\phi(m)}x_i(mod\text{ }m)i=1∏ϕ(m)xi≡aϕ(m)i=1∏ϕ(m)xi(mod m)
那么就有aϕ(m)≡1(mod m)a^{\phi(m)}\equiv 1(mod \text{ }m)aϕ(m)≡1(mod m)
得证。
广义欧拉定理:
广义欧拉定理的叙述为:对于∀a,m\forall a,m∀a,m,若gcd(a,m)≠1gcd(a,m)\ne 1gcd(a,m)̸=1,则有an≡an mod ϕ(m)(mod m),(n<ϕ(m))a^n\equiv a^{n\text{ }mod\text{ }\phi(m)}(mod\text{ }m), (n<\phi(m))an≡an mod ϕ(m)(mod m),(n<ϕ(m))an≡an mod ϕ(m)+ϕ(m)(mod m),(otherwise)a^n\equiv a^{n\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m), (otherwise)an≡an mod ϕ(m)+ϕ(m)(mod m),(otherwise)
我必须承认,第一句是废话,但是定理的叙述里面一直都有这句,本着严谨的态度,我还是把它搬上来了。。。(我自己都觉得无语)。
其实思维敏锐的读者也会发现,欧拉定理也满足广义欧拉定理,所以gcd(a,m)≠1gcd(a,m)\ne 1gcd(a,m)̸=1这个条件也可以去掉。
接下来我们试着证明一下第二条。an≡an mod ϕ(m)+ϕ(m)(mod m)a^n\equiv a^{n\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)an≡an mod ϕ(m)+ϕ(m)(mod m)
为了方便叙述,我们给几个定理及定义:
将aaa的0次,1次,…,bbb次幂模mmm的结果排成一个序列,前rrr个数(a0a^0a0到ar−1a^{r-1}ar−1)互不相同,从第rrr个数开始,每sss个数就循环一次。
可以用鸽巢原理证明,这样的rrr和sss总是存在的。
我们称rrr为a的幂次模mmm的循环起始点,sss为循环长度。注意rrr可能为0,但sss一定不为0。
开始证明:
1.当aaa为素数。
显然m=arm′m=a^rm'm=arm′,则gcd(a,m′)=1gcd(a,m')=1gcd(a,m′)=1,所以我们有aϕ(m′)≡1(mod m′)a^{\phi(m')}\equiv1(mod\text{ }m')aϕ(m′)≡1(mod m′)又由于gcd(ar,m′)=1gcd(a^r,m')=1gcd(ar,m′)=1,所以ϕ(m′)∣ϕ(m)\phi(m')|\phi(m)ϕ(m′)∣ϕ(m),所以aϕ(m)≡1(mod m′)a^{\phi(m)}\equiv1(mod\text{ }m')aϕ(m)≡1(mod m′)
即aϕ(m)=km′+1a^{\phi(m)}=km'+1aϕ(m)=km′+1两边同时乘以ara^rar,得ar+ϕ(m)=km+ar,because m=arm′a^{r+\phi(m)}=km+a^r,because\text{ }m=a^rm'ar+ϕ(m)=km+ar,because m=arm′
所以ar≡ar+s(mod m)a^r≡a^{r+s}(mod\text{ }m)ar≡ar+s(mod m),这里s=ϕ(m)s=\phi(m)s=ϕ(m),其实到这里证明已经快要接近尾声了,有兴趣的读者可以自己手推一下。
又由于m=arm′m=a^rm'm=arm′,所以ϕ(m)≥ϕ(pr)=pr−1(p−1)≥r\phi(m)\ge\phi(p^r)=p^{r-1}(p-1)\ge rϕ(m)≥ϕ(pr)=pr−1(p−1)≥r
所以ar≡ar+ϕ(m)≡ar mod ϕ(m)+ϕ(m)(mod m)a^r\equiv a^{r+\phi(m)}\equiv a^{r\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)ar≡ar+ϕ(m)≡ar mod ϕ(m)+ϕ(m)(mod m)
所以ab≡ar+(b−r) mod ϕ(m)a^b\equiv a^{r+(b-r)\text{ }mod\text{ }\phi(m)}ab≡ar+(b−r) mod ϕ(m)≡ar mod ϕ(m)+ϕ(m)+(b−r) mod ϕ(m)\equiv a^{r\text{ }mod\text{ }\phi(m)+\phi(m)+(b-r)\text{ }mod\text{ }\phi(m)}≡ar mod ϕ(m)+ϕ(m)+(b−r) mod ϕ(m)≡aϕ(m)+b mod ϕ(m)(mod m)\equiv a^{\phi(m)+b\text{ }mod\text{ }\phi(m)}(mod\text{ }m)≡aϕ(m)+b mod ϕ(m)(mod m)
即ab≡ab mod ϕ(m)+ϕ(m)(mod m)a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)ab≡ab mod ϕ(m)+ϕ(m)(mod m)
第一情况得证。
这种情况证明出来了,马上我们的证明就要完成了。
2.aaa是质数ppp的整数次幂
令a=pka=p^ka=pk。
显然仍然有ar′≡ar′+s′(mod m)a^{r'} \equiv a^{r'+s'}(mod\text{ }m)ar′≡ar′+s′(mod m)其中s′=ϕ(m)s'=\phi(m)s′=ϕ(m)。
由于对于质数我们有pr≡pr+s(mod m)p^r \equiv p^{r+s}(mod\text{ }m)pr≡pr+s(mod m)而将mmm中的质因子ppp除去后的m′m'm′,我们有ps≡1(mod m′)p^s\equiv1 (mod\text{ }m')ps≡1(mod m′)。所以ps∗k/gcd(s,k)≡1(mod m′)p^{s*k/gcd(s,k)}\equiv 1(mod\text{ }m')ps∗k/gcd(s,k)≡1(mod m′)。
当ps′k≡1(mod m′)p^{s'k}≡1(mod\text{ }m')ps′k≡1(mod m′)时,我们有s′=s/gcd(s,k)s'=s/gcd(s,k)s′=s/gcd(s,k)。
此时s′∣s∣ϕ(m)s'|s|\phi(m)s′∣s∣ϕ(m),且r′=⌈rk⌉≤r≤ϕ(m)r'=\lceil \frac{r}{k}\rceil\le r\le\phi(m)r′=⌈kr⌉≤r≤ϕ(m)。
由r′,s′r',s'r′,s′与ϕ(m)\phi(m)ϕ(m)的关系,依然可以得到ab≡ab mod ϕ(m)+ϕ(m)(mod m)a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)ab≡ab mod ϕ(m)+ϕ(m)(mod m)
3.aaa是合数
考虑aaa是ttt个素数的整数次幂的积的情况。
设a=∏i=1ta=\prod_{i=1}^{t}a=∏i=1t,ai=pikia_i=p_i^{k_i}ai=piki,aia_iai在模mmm意义下的循环节长度为sis_isi
则aaa的循环长度sss必有s∣lcm(si)s|lcm(s_i)s∣lcm(si),而si∣ϕ(m)s_i|\phi(m)si∣ϕ(m),所以lcm(si)∣ϕ(m)lcm(s_i)|\phi(m)lcm(si)∣ϕ(m),所以s∣ϕ(m)s|\phi(m)s∣ϕ(m)
并且我们可以推出aaa在循环前的长度r=max⌈riki⌉≤max{ri}≤ϕ(m)r=max{\lceil \frac{r_i}{k_i}\rceil}\leq max\{r_i\}\leq\phi(m)r=max⌈kiri⌉≤max{ri}≤ϕ(m)。
所以,当aaa是合数时,我们仍然有ab≡ab mod ϕ(m)+ϕ(m)(mod m)a^b≡a^{b\text{ }mod\text{ }\phi(m)+\phi(m)}(mod\text{ }m)ab≡ab mod ϕ(m)+ϕ(m)(mod m)
广义欧拉定理得证
以上就是关于欧拉定理内容及证明的叙述,欧拉函数的更多性质我会写在积性函数的总结里面。