欧拉函数

挺多,定理挺简单,证明复杂。

欧拉函数( \(\varphi\)

定义:

\(\varphi(x)\) 表示所有 \(\le x\) 的数中,与 \(x\) 互质的数的个数。

通式:

\(p_1,p_2,...,p_n\) 表示 \(x\)质因数

则:

\[\varphi(x)=x\times \prod\limits_{i=1}^n \frac{p_i-1}{p_i} \]

证明:

首先,显然,一个数和 \(x\) 互质的充要条件是其不是 \(x\) 质因数的倍数。

所以我们考虑筛掉所有 \(x\) 的质因数的倍数。

随便找两个 \(x\) 的质因数 \(p_i,p_j\) ,考虑容斥,他们的倍数个数为:

\[\frac{x}{p_i} + \frac{x}{p_j} - \frac{x}{p_ip_j} \]

所以剩下的个数为:

\[x-\frac{x}{p_i}-\frac{x}{p_j}+\frac{x}{p_ip_j} \]

\[x\times(1-\frac{1}{p_i}-\frac{1}{p_j}+\frac{1}{p_ip_j}) \]

\[x\times(1-\frac{1}{p_i})(1-\frac{1}{p_j}) \]

同理筛去所有的即可得到通式。

也可以通过性质证明(具体性质见下:

设(将 \(x\) 分解质因数):

\[x=p_1^{a^1}p_2^{a^2}...p_n^{a^n} \]

其中:

\[p_1,p_2...p_n\in \text{质数} \]

易知:

\[p_1\bot p_2\bot...\bot p_n \]

\[\begin{aligned}\therefore\varphi(x) &=\varphi(p_1^{a^1})\varphi(p_2^{a^2})...\varphi(p_n^{a^n})\\ &=(p_1^{a_1}-p_1^{a_1-1})(p_2^{a_2}-p_2^{a_2-1})...(p_n^{a_n}-p_n^{a_n-1})\\ &=x(1-p_1^{-1})(1-p_2^{-1})...(1-p_n^{-1})\\ &=x\times \prod\limits_{i=1}^n \frac{p_i-1}{p_i} \end{aligned}\]

附:

\(x\) 内与 \(y\) 互质的数(要求 \(y \mid x\)

\[x\times \prod\limits_{i=1}^n \frac{p_i-1}{p_i} \]

其中 \(p\)\(y\) 的质因数集(推导类似欧拉定理通式推导)。

也可以写作:

\[\frac{x}{y}\times \varphi(y) \]

————做题时得到的类似通式扩展。

性质:

  1. \(x\) 为质数,则 \(\varphi(x)=x-1\)

  2. \(x\) 为质数,则 \(\varphi(x^k)=x^k-x^{k-1}\)

    1,2 结合定义显然

  3. \(\varphi\) 是积性函数

    对于任意互质\(x,y\)\(\varphi(xy)=\varphi(x)\times\varphi(y)\)

  4. \(x\) 是奇数时 \(\varphi(2x)=\varphi(2)\times\varphi(x)=\varphi(x)\)

  5. \(x (x>1)\) 以内所有与其互质的数的和 \(=\varphi(x)\times x \div 2\)

    证明:

    前置定理更相减损术,简单来说,就是 \(\gcd(x,y)=\gcd(x,x-y)=\gcd(x-y,y)\)

    由这个公式可以知道,所有与 \(x\) 互质的数都是成对出现的,并且他们的和为 \(x\)\(y,x-y\) )。

    因为共有 \(\varphi(x) \div 2\) 组,所以他们的和为 \(\varphi(x)\times x \div 2\)

    同时由这个证明可得, \(\varphi(x)(x>2)\) 是偶数。

  6. \(x=\sum\limits_{a\mid x}\varphi(a)\)

    证明,设 \(f(a)=\sum\limits_{i\mid a}\varphi(i)\)

    \[\because f(n)\times f(m)=\sum\limits_{i\mid n}\varphi(i) \sum\limits_{j\mid m}\varphi(j)=\sum\limits_{i\mid n}\sum\limits_{j\mid m}\varphi(ij)=\sum\limits_{k\mid nm}\varphi(k)=f(nm)\text{ }(\gcd(n,m)=1) \]

    \[\therefore f \text{ 是积性函数} \]

    \[\therefore f(p^k)=\varphi(1)+\varphi(p)+\varphi(p^2)+...+\varphi(p^k)=p^k\text{ (p 为质数)} \]

    \[\because x=p_1^{k_1}p_2^{k_2}...p_n^{k_n} \]

    \[\therefore f(x)=f(p_1^{k_1})f(p_2^{k_2})...f(p_n^{k_n})=p_1^{k_1}p_2^{k_2}...p_n^{k_n}=x \]

线性筛求欧拉函数:

因为欧拉函数是积性函数,所以可以线性筛。

// npri 表示是否是质数(为1不是),pri存储质数,phi存储欧拉函数,x指通式中的x
inline void phi_sieve(int n){
	npri[1]=1;phi[1]=1;
	for(int i=2;i<=n;i++){
		if(!npri[i]) phi[i]=i-1,pri[++ppri]=i;
		for(int j=1;j<=ppri&&i*pri[j]<=n;j++){
			npri[i*pri[j]]=1;
			if(i%pri[j]==0){phi[i*pri[j]]=phi[i]*pri[j];break;}//phi[i]已经有质因数pri[j],只需要x扩大pri[j]即可。
			phi[i*pri[j]]=phi[i]*phi[pri[j]];//phi 为积性函数,phi[i*pri[j]] = phi[i] * phi[pri[j]]
		}
	}
}

欧拉反演:

其实就是应用欧拉函数的性质 \(6\)

两个基础应用:

  1. \(\sum\limits_{i=1}^n \gcd(i,n)\)

\[\begin{aligned} \sum\limits_{i=1}^n \gcd(i,n) &=\sum\limits_{i=1}^n\sum\limits_{j\mid\gcd(i,n)} \varphi(j)\\ &=\sum\limits_{i=1}^n\sum\limits_{j\mid i}\sum\limits_{j\mid n} \varphi(j)\\ &=\sum\limits_{j\mid n} \varphi(j) \sum\limits_{i=1}^n [j\mid i]\\ &=\sum\limits_{j\mid n} \varphi(j) \left\lfloor\frac{n}{j}\right\rfloor \end{aligned}\]

  1. \(\sum\limits_{i=1}^n\sum\limits_{j=1}^n\gcd(i,j)\)

\[\begin{aligned} \sum\limits_{i=1}^n\sum\limits_{j=1}^n\gcd(i,j) &=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{k\mid\gcd(i,j)} \varphi(k)\\ &=\sum\limits_{i=1}^n\sum\limits_{j=1}^n\sum\limits_{k\mid i}\sum\limits_{k\mid j}\varphi(k)\\ &=\sum\limits_{k=1}^n \varphi(k) \sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n} [k\mid i][k\mid j]\\ &=\sum\limits_{k=1}^n \varphi(k) \left\lfloor\frac{n}{k}\right\rfloor^2 \end{aligned}\]

欧拉定理:

\(a,m\) 互质,则满足:

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

证明这篇博客讲的极其详细,不赘述。

扩展欧拉定理:

对于任意 \(a,m\)

\[a^c \equiv \begin{cases} a^{c \bmod \varphi(m)} &\gcd(a,m)=1 \\ a^c &\gcd(a,m) \neq 1,c<\varphi(m) \\ a^{\left(c \bmod \varphi(m)\right)+\varphi(m)} &\gcd(a,m) \neq 1,c \geq \varphi(m) \end{cases} \pmod m\]

证明极其复杂,这里不给出了,可以参考这篇博客

参考博客:

https://www.cnblogs.com/Morning-Glory/p/11106828.html

https://www.cnblogs.com/wangxiaodai/p/9758242.html (欧拉定理证明)

https://www.cnblogs.com/1024th/p/11349355.html (扩展欧拉定理证明)

posted @ 2023-01-30 09:06  xrlong  阅读(127)  评论(2编辑  收藏  举报