欧拉函数及其相关证明(极清晰)

预备知识

  • 剩余系:指对于某一个特定的正整数n,一个整数集中的数mod n所得的余数域。

  • 完全剩余系: 设 m ∈ Z + , 若 r 0 , r 1 , . . . r m − 1 为 m 个 整 数 , 并 且 两 两 模 m 不 同 余 , 则 r 0 , r 1 , . . . r m − 1 叫 作 模 m 的 一 个 完 全 剩 余 系 。 设m∈Z+,若r_0,r_1,...r_{m-1}为m个整数,并且两两模m不同余,则r_0,r_1,...r_{m-1}叫作模m的一个完全剩余系。 mZ+r0,r1,...rm1mmr0,r1,...rm1m

  • 缩系:设A是mod n的剩余系,若任意A中两个元素相乘mod n后仍为A中的元素,则称A为mod n的缩系

好吧其实后面好像用不上,但总还是有用的。

欧拉函数

  • 定义

φ ( n ) \varphi(n) φ(n)为不超过n且与n互质的数的个数。

显然,若p为质数, φ ( p ) = p − 1 \varphi(p)=p-1 φ(p)=p1

φ ( p k ) = p k − p k − 1 \varphi(p^k)=p^k-p^{k-1} φ(pk)=pkpk1 因为与 p k p^k pk不互质的只有p的倍数,而p的倍数有 P k − 1 P^{k-1} Pk1个。

欧拉函数是积性函数。

证明:(需要中国剩余定理)

n = p 1 k 1 p 2 k 2 . . . p m k m n=p_1^{k_1}p_2^{k_2}...p_m^{k_m} n=p1k1p2k2...pmkm

若x,n互质,则x%n, p 1 k 1 也 互 质 p_1^{k_1}也互质 p1k1

{ x ≡   a 1   m o d   p 1 k 1 x ≡   a 2   m o d   p 2 k 2 . . . x ≡   a m   m o d   p m k m \begin{cases} x \equiv a_1 mod p_1^{k_1}\\ x \equiv a_2 mod p_2^{k_2}\\ ...\\ x \equiv a_m mod p_m^{k_m}\\ \end{cases} x a1 mod p1k1x a2 mod p2k2...x am mod pmkm

x , a i , p i k 1 均 互 质 x,a_i,p_i^{k_1}均互质 x,ai,pik1

在一组方程中, a i a_i ai 有多种取法,需满足gcd( a 1 , p 1 k 1 ) = 1 a_1,p_1^{k_1})=1 a1,p1k1)=1

∴ \therefore   φ ( p i k i ) \varphi(p_i^{k_i}) φ(piki)=sizeof{ a i a_i ai}

根据中国剩余定理,在1~n范围内有唯一x,又gcd(x,n)=1

则x有 φ ( n ) \varphi(n) φ(n)中取法

对于每一个x,与{ a 1 , a 2 , . . . , a m a_1,a_2,...,a_m a1,a2,...,am}集合唯一对应

N a 1 ∗ N a 2 ∗ . . . ∗ N a m N_{a_1}*N_{a_2}*...*N_{a_m} Na1Na2...Nam种方法

= φ ( p 1 k 1 ) ∗ φ ( p 2 k 2 ) ∗ . . . ∗ φ ( p m k m ) \varphi(p_1^{k_1})*\varphi(p_2^{k_2})*...*\varphi(p_m^{k_m}) φ(p1k1)φ(p2k2)...φ(pmkm)

分别对应一个唯一的x

∴ \therefore   φ ( p 1 k 1 ) ∗ φ ( p 2 k 2 ) ∗ . . . ∗ φ ( p m k m ) = φ ( n ) \varphi(p_1^{k_1})*\varphi(p_2^{k_2})*...*\varphi(p_m^{k_m})=\varphi(n) φ(p1k1)φ(p2k2)...φ(pmkm)=φ(n)

n = p 1 k 1 p 2 k 2 . . . p m k m n=p_1^{k_1}p_2^{k_2}...p_m^{k_m} n=p1k1p2k2...pmkm

∴ \therefore   φ \varphi φ为积性函数


若gcd(a,M)=1,则 a φ ( M ) ≡   1   ( m o d   M ) a^{\varphi(M)} \equiv 1 (mod M) aφ(M) 1 (mod M)

证明:

设a,M互质,有M的一个缩系为{ a , 2 a , . . . , φ ( M ) a a,2a,...,\varphi(M)a a,2a,...,φ(M)a},缩系元素个数为 φ ( M ) \varphi(M) φ(M)

φ ( M ) !   ≡   ∏ φ ( M ) a i   ( m o d   M ) \varphi(M)! \equiv \prod^{\varphi(M)}{a_i} (mod M) φ(M)!  φ(M)ai (mod M)

φ ( M ) !   ≡   a φ ( M ) φ ( M ) !   ( m o d   M ) \varphi(M)! \equiv a^{\varphi(M)}\varphi(M)! (mod M) φ(M)!  aφ(M)φ(M)! (mod M)

a φ ( M ) ≡   1   ( m o d   M ) a^{\varphi(M)} \equiv 1 (mod M) aφ(M) 1 (mod M)

当M为质数时,则有 φ ( M ) = M − 1 \varphi(M)=M-1 φ(M)=M1,即费马小定理


扩展欧拉定理

如果gcd(a,M)!=1,那么 a b ≡ a b   m o d   φ ( M ) + φ ( M )   ( m o d   M ) ( b > φ ( M ) ) a^b \equiv a^{b mod \varphi(M)+\varphi(M)} (mod M)(b>\varphi(M)) abab mod φ(M)+φ(M) (mod M)(b>φ(M))

证明:

先考虑 M M M的一个质因子p , g c d ( p , M ) = p gcd(p,M)=p gcd(p,M)=p
M M M分解:  M = s ∗ p k , g c d ( s , p ) = 1 M=s*p^k,gcd(s,p)=1 M=spk,gcd(s,p)=1
可得:  p x ≡ p x   m o d   φ ( s )   m o d   s   ( x > φ ( s ) ) p^x \equiv p^{x mod \varphi(s)} mod s (x>\varphi(s)) pxpx mod φ(s) mod s (x>φ(s))
∵ \because   φ ( s ) ∣ φ ( M ) \varphi(s) | \varphi(M) φ(s)φ(M)( φ \varphi φ是积性函数)
  ∴ \therefore   p x ≡ p x   m o d   φ ( M )   m o d   M p^x\equiv p^{x mod \varphi(M)} mod M pxpx mod φ(M) mod M
更有  p x ≡ p x   m o d   φ ( M ) + φ ( M )   m o d   M p^x \equiv p^{x mod \varphi(M) +\varphi(M)} mod M pxpx mod φ(M)+φ(M) mod M

对于任意一个数 a , g c d ( a , M ) = b , b = ̸ 1 a,gcd(a,M)=b,b=\not1 a,gcd(a,M)=b,b≠1
a = b k 1 ∗ r 1 , g c d ( r 1 , M ) = 1 a=b^{k_1}*r_1,gcd(r_1,M)=1 a=bk1r1,gcd(r1,M)=1
a x ≡ b k 1 x ∗ r 1 x   m o d   M a^x \equiv {b^{k_1}}^x*{r_1}^x mod M axbk1xr1x mod M
  a x ≡ b k 1 x   m o d   φ ( M ) + φ ( M ) ∗ r 1 x   m o d   φ ( M ) + φ ( M )   m o d   M a^x \equiv {b^{k_1}}^{x mod \varphi(M)+\varphi(M)}*{r_1}^{x mod \varphi(M)+\varphi(M)} mod M axbk1x mod φ(M)+φ(M)r1x mod φ(M)+φ(M) mod M
  a x ≡ b k 1 ∗ r 1 x   m o d   φ ( M )   m o d   M a^x \equiv {b^{k_1}*r_1}^{x mod \varphi(M)} mod M axbk1r1x mod φ(M) mod M
a x ≡ a x   m o d   φ ( M ) + φ ( M )   m o d   M   ( x > φ ( M ) ) a^x \equiv {a}^{x mod \varphi(M)+\varphi(M)} mod M (x>\varphi(M)) axax mod φ(M)+φ(M) mod M (x>φ(M))
证毕


ok,继续之前的内容

当n= p 1 a 1 p 2 a 2 . . . p k a k p_1^{a_1}p_2^{a_2}...p_k^{a_k} p1a1p2a2...pkak

ϕ ( n ) = ∏ i = 1 k p i a i − 1 ( p i − 1 ) = n ∗ ∏ i = 1 k ( 1 − 1 p i ) = n ∗ ∏ i = 1 k p i − 1 p i \phi(n)=\prod_{i=1}^{k}{p_i^{a_i-1}(p_i-1)}=n*\prod_{i=1}^k{(1-\frac{1}{p_i})}=n*\prod_{i=1}^k{\frac{p_i-1}{p_i}} ϕ(n)=i=1kpiai1(pi1)=ni=1k(1pi1)=ni=1kpipi1
可以用此式子递推

递推证明
递推代码

/*******************************
Author:galaxy yr
LANG:C++
Created Time:2019年01月22日 星期二 15时53分29秒
*******************************/
#include<iostream>
#include<cstdio>
using namespace std;
const int maxn=1e6+10;
int n=1e6,prime[maxn],vis[maxn],tot,mn[maxn],e[maxn],phi[maxn],d[maxn],mu[maxn];
//e最小质因子的个数,mn最小质因子,phi欧拉函数,d约数个数,mu莫比乌斯函数
void euler_sieve()
{
    mu[1]=1;phi[1]=1;
        for(int i=2;i<=n;i++)
        {
                if(!vis[i]) { prime[++tot]=i;mn[i]=i;e[i]=1;phi[i]=i-1;d[i]=2;mu[i]=-1; }
                for(int j=1;j<=tot and prime[j]*i<=n;j++)
                {
                        vis[prime[j]*i]=1;
                        mn[prime[j]*i]=prime[j];
                        e[prime[j]*i]=1;
                        if(i%prime[j]==0)
                        {
                                phi[i*prime[j]]=phi[i]*prime[j];
                                e[prime[j]*i]=e[i]+1;
                                d[i*prime[j]]=d[i]/(e[i]+1)*(e[i]+2);
                                break;
                        }
                        else phi[i*prime[j]]=phi[i]*(prime[j]-1);
                        mu[i*prime[j]]=-mu[i];
                        d[i*prime[j]]<<=1;
                }
        }
}
int main()
{
}


欧拉反演

∑ i = 1 n g c d ( i , n ) = ∑ d ∣ n n d φ ( d ) \begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned} i=1ngcd(i,n)=dndnφ(d)
证明:
首先有 n = ∑ d ∣ n φ ( d ) \begin{aligned}n=\sum_{d|n}{\varphi(d)}\end{aligned} n=dnφ(d)

即n的因数(包括1和它自己))的欧拉函数之和等于n

证明

f ( n ) = ∑ d ∣ n φ ( d ) \begin{aligned}f(n)=\sum_{d|n}{\varphi(d)}\end{aligned} f(n)=dnφ(d),有 f f f是积性函数。

f ( n ) ⋅ f ( m ) = ∑ i ∣ n φ ( i ) ∑ j ∣ m φ ( j ) = ∑ i ∣ n ∑ j ∣ m φ ( i ) ⋅ φ ( j ) = ∑ i ∣ n ∑ j ∣ m φ ( i ⋅ j ) = ∑ d ∣ n m φ ( d ) = f ( n m ) \begin{aligned}f(n)·f(m)=\sum_{i|n}\varphi(i)\sum_{j|m}\varphi(j)=\sum_{i|n}\sum_{j|m}\varphi(i)·\varphi(j)=\sum_{i|n}\sum_{j|m}\varphi(i·j)=\sum_{d|nm}\varphi(d)=f(nm)\end{aligned} f(n)f(m)=inφ(i)jmφ(j)=injmφ(i)φ(j)=injmφ(ij)=dnmφ(d)=f(nm)

f ( p k ) = φ ( 1 ) + φ ( p ) + φ ( p 2 ) + ⋯ + φ ( p k ) = 1 + ( p − 1 ) + ( p 2 − p ) + ⋯ + ( p k − p k − 1 ) = p k f(p^k)=\varphi(1)+\varphi(p)+\varphi(p^2)+\cdots+\varphi(p^k)=1+(p-1)+(p^2-p)+\cdots+(p^k-p^{k-1})=p^k f(pk)=φ(1)+φ(p)+φ(p2)++φ(pk)=1+(p1)+(p2p)++(pkpk1)=pk

f ( n ) = f ( p 1 k 1 ) ⋅ f ( p 2 k 2 ) ⋅ ⋯ ⋅ f ( p m k m ) = p 1 k 1 ⋅ p 2 k 2 ⋅ ⋯ ⋅ p m k m = n f(n)=f(p_1^{k_1})·f(p_2^{k_2})·\cdots·f(p_m^{k_m})=p_1^{k_1} ·p_2^{k_2}· \cdots·p_m^{k_m}=n f(n)=f(p1k1)f(p2k2)f(pmkm)=p1k1p2k2pmkm=n

把n=gcd(i,j)代入得

g c d ( i , j ) = ∑ d ∣ g c d ( i , j ) φ ( d ) = ∑ d ∣ i ∑ d ∣ j φ ( d ) \begin{aligned}gcd(i,j)=\sum_{d|gcd(i,j)}\varphi(d)=\sum_{d|i}\sum_{d|j}\varphi(d)\end{aligned} gcd(i,j)=dgcd(i,j)φ(d)=didjφ(d)

∑ i = 1 n g c d ( i , n ) = ∑ i = 1 n ∑ d ∣ i ∑ d ∣ n φ ( d ) = ∑ d ∣ n ∑ i = 1 n ∑ d ∣ i φ ( d ) = ∑ d ∣ n n d φ ( d ) \begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{i=1}^n\sum_{d|i}\sum_{d|n}\varphi(d)=\sum_{d|n}\sum_{i=1}^n\sum_{d|i}\varphi(d)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned} i=1ngcd(i,n)=i=1ndidnφ(d)=dni=1ndiφ(d)=dndnφ(d)

∑ i = 1 n g c d ( i , n ) = ∑ d ∣ n n d φ ( d ) \begin{aligned}\sum_{i=1}^ngcd(i,n)=\sum_{d|n}\frac{n}{d}\varphi(d)\end{aligned} i=1ngcd(i,n)=dndnφ(d)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值