欧拉定理概述


欧拉定理

【前言】

欧拉定理挺好玩的。但是一般就用来优化模算术下的乘方运算,没啥意思。不过它的性质比较有意思,在很多模算术带乘方的玩意里有奇效。更何况欧拉函数其本身就比较神奇。

前置技能:容斥,数论基础,同余基础。

【欧拉函数】

欧拉函数\(\varphi(n)\)表示\(1\sim n\)中与\(n\)互质的数的个数。

给出数学定义如下

\[\varphi(n)=\sum_{i=1}^n[gcd(i,n)==1] \]

其中\([x]\)表示艾弗森约定。

欧拉函数是积性函数,即对于\(\forall n,p\),若\(gcd(n,p)=1\),则有\(\varphi(np)=\varphi(n)*\varphi(p)\)


显然,对于任意质数\(p\),有

\[\varphi(p)=p-1 \]


而对于任意整数,不难给出一个计算公式如下

若算数基本定理即\(n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}\)成立,则有

\[\varphi(n)=n*\prod_{i=1}^m(1-\frac{1}{p_i}) \]

证明:

\(a,b\)\(n\)互质,则满足\(a \mid n\)\(a\)\(\large \frac{n}{a}\)个,满足\(b \mid n\)\(b\)\(\large\frac{n}{b}\)个。根据容斥原理,\(1\sim n\)中不能被\(a,b\)中任意一个数整除的数共有\(\large n-(\frac{n}{a}+\frac{n}{b})+\frac{n}{ab}\)个,即\(\large n*(1-\frac{1}{a})*(1-\frac{1}{b})\)个。(有木有二项式定理的影子?)

推广至一般,对于\(n\)的所有质因数,我们使用容斥定理即可得到欧拉函数。


代码实现

根据以上分析,不难想到在分解质因数时\(O(\sqrt{n})\)\(\varphi(n)\)

inline int phi(int n)
{
	int ans=n;
	for(int i=2;i<=sqrt(n);++i){
		if(n%i==0){
			ans=ans/i*(i-1);
			while(n%i==0) n/=i;
		}
	}
	if(n>1) ans=ans/n*(n-1);
	return ans;
}

利用欧拉筛,\(O(n)\)\(1\sim n\)的所有\(\varphi\)函数的值

inline void init(int n)
{
	phi[1]=1;
	for(int i=2;i<=n;++i){
		if(!v[i]){phi[i]=i-1;p[++cnt]=i;}
		for(int j=1;j<=cnt;++j){
			if(p[j]>n/i) break;
			v[i*p[j]]=1;
			if(i%p[j]==0){
				phi[i*p[j]]=phi[i]*p[j];break;
			}
			phi[i*p[j]]=phi[i]*(p[j]-1);
		}
	}
}

证明:

根据算数基本定理\(n=p_1^{c_1}p_2^{c_2}\dots p_m^{c_m}\)

\(p_1\)\(n\)的最小质因子,则在欧拉筛过程中,存在\(n'\),使得\(n'=\frac{n}{p_1}\),即\(n\)是由\(n'*p_1\)筛出来的。

对于\(n' ~mod ~p_1=0\),显然有\(c_1>1\),那么\(n'\)含有\(n\)的所有质因子,即

\[\begin{align}\varphi(n)&=n*\prod_{i=1}^m(1-\frac{1}{p_i})\\&=n'*p_1*\prod_{i=1}^m(1-\frac{1}{p_i})\\&=p_1*\varphi(n')\end{align} \]

对于\(n'~mod~p\not= 0\),显然有\(c_1=1\),那么\(n'\)不包含\(p_1\),故\(gcd(n',p_1)=1\)

又由于\(\varphi(n)\)为积性函数,则有

\[\varphi(n)=\varphi(p_1)*\varphi(n')=(p_1-1)*\varphi(n') \]



【欧拉定理】

\(a,p\)互质,则有

\[a^{\varphi(p)}\equiv 1 \pmod p \]

证明:

\(\{\overline {x_1} ,\overline {x_2},\dots ,\overline {x_{\psi(p)}}\}\)\(p\)的简化剩余系,即\(\varphi(p)\)个与\(p\)互质的数表示的同余类的集合。

若存在一组\(x_i,x_j(x_i\not= x_j)\),使得\(ax_i\equiv ax_j \pmod p\),即\(a(x_i-x_j)\equiv 0 \pmod p\),由\(a\)\(p\)互质得到\(x_i\equiv x_j \pmod p\)。那么,由于该简化剩余系关于模\(p\)乘法封闭,可知\(\{\overline {x_1} ,\overline {x_2},\dots ,\overline {x_{\varphi(p)}}\}\)中任意元素都满足上述性质。则有\({\{\overline {ax_1} ,\overline {ax_2},\dots ,\overline {ax_{\varphi(p)}}\}}\)\(p\)的一个简化剩余系。

由于\(x_1,x_2\dots x_{\varphi(p)}\)都与\(p\)互质,得到

\[{x_1} {x_2}\dots {x_{\varphi(p)}} \equiv {ax_1} {ax_2}\dots {ax_{\varphi(p)}} \pmod p \]

\[{x_1} {x_2}\dots {x_{\varphi(p)}} \equiv a^{\varphi(p)}( {x_1}{x_2}\dots {x_{\varphi(p)}}) \pmod p\\a^{\varphi(p)} \equiv 1 \pmod p \]


推论

\[a^{b}=a^{b ~ mod ~ \varphi(p)} \pmod p \]

证明:

\(a,p\)互质时,设\(b=k*\varphi(p)+r\),则有\(r=b \mod \varphi(p)\)

\[a^b=a^{k*{\varphi(p)+r}}=(a^{\varphi(p)})^k*a^r=1^k*a^{b ~mod~ \varphi(p)}=a^{b ~mod~ \varphi(p)} \]


而当\(a,p\)不一定互质时,若\(b>=\varphi(p)\),则有\(a^{b}=a^{b ~ mod ~ \varphi(p)+\varphi(p)} \pmod p\)

证明:

由抽屉原理,对于任意\(x~mod ~p,x>p\),至多有\(x+1\)种余数。即\(a^b ~mod ~p\)存在指数循环节,其循环节长度为\(\varphi(p)\),该式可写作

\[a^b=a^0a^1\cdots a^{\varphi(p)} a^{\varphi(p)+1}\cdots a^{\varphi(p)+\varphi(p)}\cdots \pmod p \]


用这个推论即可解决\(a^b~mod ~p\),当\(a,b\)都很大的情况。

板子:P5091


似乎很多人称之为欧拉反演?

对于任意正整数\(n\),有

\[\sum_{d\mid n}\varphi(d)=n \]

证明:

由于对于一个质数\(p\),有

\[\varphi(p)=p-1 \]

\(kp\)不互质的数为\(1,p,2p,3p,4p,\cdots ,kp\),显然有\(k+1\)个,那么根据\(\varphi\)定义,有

\[\varphi(kp)=k(p-1) \]

(可以从这里看出\(\varphi(n)\)为积性函数)

而对于\(p^k\),与它不互质的数为\(1,p,p^2,p^3,\cdots,p^k\),于是

\[\varphi(p^k)=p^{k-1}(p-1) \]

那么

\[\begin{align} \sum_{d\mid p^k}\varphi(d) &=1+\varphi(p)+\varphi(p^2)+\cdots+\varphi(p^k)\\ &=1+(p-1)+p(p-1)+p^2(p-1)+\cdots+p^{k-1}(p-1)\\ &=p^k \end{align} \]

\(\varphi(n)\)为积性函数,且\(p^k\)与除\(p^{k'}\)外的所有数互质,得到\(\sum_{d\mid n}\varphi(d)=n\)

证毕。


用这个推论可以解决一些比较神奇的数论题。


\(\forall n>1,1\sim n\)中所有互质的数的和为\(n*\varphi(n)/2\)

待更,虽然基本上没啥了,后续会更新一些题目。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM