欧拉函数与欧拉定理小结

欧拉函数

定义

φ ( n ) \varphi(n) φ(n) 表示小于等于 n n n 的正整数中与 n n n 互质的数的个数。

特别的, φ ( 1 ) = 1 \varphi(1)=1 φ(1)=1

通式

n n n 质因数分解后,表示为: n = p 1 c 1 p 2 c 2 . . . p k c k n=p_1^{c_1}p_2^{c_2}...p_k^{c_k} n=p1c1p2c2...pkck

那么通式为:
φ ( n ) = n ∏ i = 1 k ( 1 − 1 p i ) \varphi(n)=n\prod\limits_{i=1}^k (1-\frac 1 {p_i}) φ(n)=ni=1k(1pi1)

证明
性质1

性质这种东西记下来就行了,后面有证明

φ ( n m ) = φ ( n ) φ ( m )    ( gcd ⁡ ( n , m ) = 1 ) \varphi(nm)=\varphi(n)\varphi(m)~~(\gcd(n,m)=1) φ(nm)=φ(n)φ(m)  (gcd(n,m)=1)

性质2

φ ( p k ) = p k − p k − 1 = p k ( 1 − 1 p )      ( p ∈ p r i m e ) \varphi(p^k)=p^k-p^{k-1}=p^k(1-\frac 1 p)~~~~(p\in prime) φ(pk)=pkpk1=pk(1p1)    (pprime)

推柿子

根据性质1,有:

φ ( n ) = φ ( p 1 c 1 ) φ ( p 2 c 2 ) . . . φ ( p k c k ) \varphi(n)=\varphi(p_1^{c_1})\varphi(p_2^{c_2})...\varphi(p_k^{c_k}) φ(n)=φ(p1c1)φ(p2c2)...φ(pkck)

根据性质2,有:

φ ( n ) = p 1 c 1 ( 1 − 1 p 1 ) p 2 c 2 ( 1 − 1 p 2 ) . . . p k c 2 ( 1 − 1 p k ) \varphi(n)=p_1^{c_1}(1-\frac 1 {p_1})p_2^{c_2}(1-\frac 1 {p_2})...p_k^{c_2}(1-\frac 1 {p_k}) φ(n)=p1c1(1p11)p2c2(1p21)...pkc2(1pk1)

φ ( n ) = p 1 c 1 p 2 c 2 . . . p k c 2 ( 1 − 1 p 1 ) ( 1 − 1 p 2 ) . . . ( 1 − 1 p k ) \varphi(n)=p_1^{c_1}p_2^{c_2}...p_k^{c_2}(1-\frac 1 {p_1})(1-\frac 1 {p_2})...(1-\frac 1 {p_k}) φ(n)=p1c1p2c2...pkc2(1p11)(1p21)...(1pk1)
φ ( n ) = n ∏ i = 1 k ( 1 − 1 p i ) \varphi(n)=n\prod\limits_{i=1}^k (1-\frac 1 {p_i}) φ(n)=ni=1k(1pi1)

性质们

性质1

φ ( n m ) = φ ( n ) φ ( m )    ( gcd ⁡ ( n , m ) = 1 ) \varphi(nm)=\varphi(n)\varphi(m)~~(\gcd(n,m)=1) φ(nm)=φ(n)φ(m)  (gcd(n,m)=1)

φ \varphi φ是个积性函数。

证明

考虑构造一个 n n n m m m 列的矩阵:
( 1 2 ⋯ r ⋯ m 1 m + 1 1 m + 2 ⋯ 1 m + r ⋯ 2 m 2 m + 1 2 m + 2 ⋯ 2 m + r ⋯ 3 m ⋮ ⋮ ⋱ ⋮ ⋱ ⋮ ( n − 1 ) m + 1 ( n − 1 ) m + 2 ⋯ ( n − 1 ) m + r ⋯ n m ) \left( \begin{matrix} 1 & 2 & \cdots & r & \cdots & m\\ 1m+1 & 1m+2 & \cdots & 1m+r & \cdots & 2m\\ 2m+1 & 2m+2 & \cdots & 2m+r & \cdots & 3m\\ \vdots & \vdots & \ddots & \vdots & \ddots & \vdots\\ (n-1)m+1 & (n-1)m+2 & \cdots & (n-1)m+r & \cdots & nm \end{matrix} \right) 11m+12m+1(n1)m+121m+22m+2(n1)m+2r1m+r2m+r(n1)m+rm2m3mnm
显然,这个矩阵中包含了 1 1 1 n m nm nm 内的所有数。而我们要从中找到与 n m nm nm 互质的数,等价于找到与 m m m 互质且与 n n n 互质的数。

先考虑找到与 m m m 互质的数。

∵ \because 我们要找的数满足 gcd ⁡ ( i m + r , m ) = 1 \gcd(im+r,m)=1 gcd(im+r,m)=1,由欧几里得算法有
gcd ⁡ ( i m + r , m ) = gcd ⁡ ( ( i m + r )   m o d   m , m ) = gcd ⁡ ( r , m ) \gcd(im+r,m)=\gcd((im+r)\bmod m,m)=\gcd(r,m) gcd(im+r,m)=gcd((im+r)modm,m)=gcd(r,m)
∴ \therefore 所有满足 gcd ⁡ ( r , m ) = 1 \gcd(r,m)=1 gcd(r,m)=1 的列都与 m m m 互质,这样的列一共有 φ ( m ) \varphi(m) φ(m) 个。

再考虑找到这些列中与 n n n 互质的数的个数。

对于每一列上的数,将他们对 n n n 取模后,两两互不相同,而每一列有 n n n 个数,也就是说,这 n n n 个数对 n n n 取模后刚好覆盖 0 0 0 ~ n − 1 n-1 n1

反证法证明:

设有 i ≠ j i\neq j i=j,满足 i m + r ≡ j m + r ( m o d n ) im+r\equiv jm+r\pmod n im+rjm+r(modn)

那么有 i m ≡ j m ( m o d n ) im \equiv jm \pmod n imjm(modn)

引理 a c ≡ b c ( m o d p ) ac\equiv bc \pmod p acbc(modp) 可以变成 a ≡ b ( m o d p d ) a \equiv b \pmod {\dfrac p d} ab(moddp),其中 d = gcd ⁡ ( c , p ) d=\gcd(c,p) d=gcd(c,p)

证明在这里就不写了,给大家安利一篇文章——数论基础

因为 gcd ⁡ ( n , m ) = 1 \gcd(n,m)=1 gcd(n,m)=1,那么柿子变成:

i ≡ j ( m o d n ) i \equiv j \pmod n ij(modn)

与假设矛盾,故结论成立

再一次请欧几里得算法登场——假如有 gcd ⁡ ( a   m o d   b , b ) = 1 \gcd(a\bmod b,b)=1 gcd(amodb,b)=1,那么有 gcd ⁡ ( a , b ) = 1 \gcd(a,b)=1 gcd(a,b)=1

现在我们知道每一列的数对 n n n 取模后刚好覆盖 0 0 0 ~ n − 1 n-1 n1,而我们知道 0 0 0 ~ n − 1 n-1 n1中有 φ ( n ) \varphi(n) φ(n) 个数与 n n n 互质,因为这些数在模 n n n 意义下与 n n n 互质,所以这些数在不模 n n n 的意义下也与 n n n 互质,所以每一列就有 φ ( n ) \varphi(n) φ(n) 个数与 n n n 互质。

那么得出结论——在这个矩阵中,有 φ ( m ) \varphi(m) φ(m) 列与 m m m互质,而每一列中有 φ ( n ) \varphi(n) φ(n) 个数与 n n n互质,所以在 1 1 1 ~ n m nm nm中,一共有 φ ( n ) φ ( m ) \varphi(n)\varphi(m) φ(n)φ(m)个数与 n m nm nm互质。

φ \varphi φ 是个积性函数,证毕

性质2

φ ( p k ) = p k − p k − 1 = p k ( 1 − 1 p )      ( p ∈ p r i m e ) \varphi(p^k)=p^k-p^{k-1}=p^k(1-\frac 1 p)~~~~(p\in prime) φ(pk)=pkpk1=pk(1p1)    (pprime)

证明:

因为 p p p 是一个质数,所以对于 p k p^k pk,只有 p p p 的倍数才不跟 p k p^k pk 互质。

1 1 1 ~ p k p^k pk 中, p p p 的倍数可以表示为 a p   ( 1 ≤ a ≤ p k − 1 ) ap~(1\leq a \leq p^{k-1}) ap (1apk1),也就是说, p p p 的倍数一共有 p k − 1 p^{k-1} pk1 个。

所以 p k − p k − 1 p^k-p^{k-1} pkpk1就是与 p k p^k pk 互质的数的个数,证毕

补充

根据这个性质,再加上 φ \varphi φ 是一个积性函数,就可以用欧拉筛来筛 φ \varphi φ 了。

具体来说,对于 p ∈ p r i m e p\in prime pprime φ ( p ) = p − 1 \varphi(p)=p-1 φ(p)=p1,对于 p k p^k pk φ ( p k ) = p k − p k − 1 = φ ( p k − 1 ) p \varphi(p^k)=p^k-p^{k-1}=\varphi(p^{k-1})p φ(pk)=pkpk1=φ(pk1)p

代码如下:

int n=100;
int prime[110],t=0;
int phi[110];
bool v[110];
void work()
{
	phi[1]=1;
	for(int i=2;i<=n;i++)
	{
		if(!v[i])prime[++t]=i,phi[i]=i-1;
		for(int j=1;j<=t&&i*prime[j]<=100;j++)
		{
			v[i*prime[j]]=true;
			if(i%prime[j]==0)
			{
				phi[i*prime[j]]=phi[i]*prime[j];
				break;
			}
			phi[i*prime[j]]=phi[i]*(prime[j]-1);
		}
	}
}
性质3

∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n dnφ(d)=n

证明:

考虑这样一个长度为 n n n的序列:
1 n , 2 n , 3 n , ⋯   , n − 1 n , n n \frac 1 n,\frac 2 n,\frac 3 n,\cdots , \frac {n-1} n,\frac n n n1,n2,n3,,nn1,nn
约分之后,显然,分母为 d   ( d ∣ n ) d~(d|n) d (dn) 的分数一共有 φ ( d ) \varphi(d) φ(d) 个,所以将所有的 φ \varphi φ 加起来,就有了 ∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n dnφ(d)=n

得证。

性质 4 & 5

4、当满足 n ≥ 2 n\geq 2 n2时,有 φ ( n ) ≡ 0 ( m o d 2 ) \varphi(n) \equiv 0 \pmod 2 φ(n)0(mod2)

证明

假如有一个数 x   ( x ≤ n ) x~(x\leq n) x (xn) n n n 互质,即 gcd ⁡ ( x , n ) = 1 \gcd(x,n)=1 gcd(x,n)=1,那么根据更相减损术,有 gcd ⁡ ( n , n − x ) = 1 \gcd(n,n-x)=1 gcd(n,nx)=1,也就是说每一个与 n n n 互质的数 x x x 都有个对应的数 n − x n-x nx也跟 n n n 互质,所以 φ ( n ) \varphi(n) φ(n)一定是个偶数。

跟着来的,是性质5

5、当满足 n ≥ 2 n\geq 2 n2时,小于 n n n 的且与 n n n 互质的数的和为 φ ( n ) × n   /   2 \varphi(n)\times n~/~2 φ(n)×n / 2

证明

因为每个与 n n n 互质的数 x x x 都有对应的 n − x n-x nx 也与 n n n 互质,那么所有与 n n n 互质的数的平均数就是 x + ( n − x ) 2 = n 2 \dfrac {x+(n-x)} 2=\dfrac n 2 2x+(nx)=2n,又因为与 n n n 互质的数的个数为 φ ( n ) \varphi(n) φ(n) ,所以与 n n n 互质的数的和为 φ ( n ) × n   /   2 \varphi(n)\times n~/~2 φ(n)×n / 2

证毕

性质6

φ ( n ) = ∑ d ∣ n n d   μ ( d ) \varphi(n)=\sum\limits_{d|n} \dfrac n d ~\mu(d) φ(n)=dndn μ(d)

证明

欧拉定理

定义

当满足 gcd ⁡ ( a , p ) = 1 \gcd(a,p)=1 gcd(a,p)=1 时,有 a φ ( p ) ≡ 1 ( m o d p ) a^{\varphi(p)}\equiv 1 \pmod p aφ(p)1(modp)

证明

设集合 X = { x i ∣ 1 ≤ i ≤ φ ( n ) } , M = { m i ∣ 1 ≤ i ≤ φ ( n ) } X=\{x_i|1\leq i \leq \varphi(n)\},M=\{m_i|1\leq i \leq \varphi(n)\} X={xi1iφ(n)},M={mi1iφ(n)},其中 x i x_i xi 的意义是第 i i i 个与 n n n 互质的数。那么 X X X 集合也就是所有与 n n n 互质的数的集合,所以里面元素个数理所当然是 φ ( n ) \varphi(n) φ(n) 个。

集合 M M M 的意义往下看。

设现在有这样一个方程组:
{ a × x 1 ≡ m 1 ( m o d p ) a × x 2 ≡ m 2 ( m o d p ) a × x 3 ≡ m 3 ( m o d p ) ⋯ a × x φ ( n ) ≡ m φ ( n ) ( m o d p ) \begin{cases} a\times x_1\equiv m_1 \pmod p\\ a\times x_2\equiv m_2\pmod p\\ a\times x_3\equiv m_3\pmod p\\ \cdots\\ a\times x_{\varphi(n)}\equiv m_{\varphi(n)}\pmod p\\ \end{cases} a×x1m1(modp)a×x2m2(modp)a×x3m3(modp)a×xφ(n)mφ(n)(modp)
引理1: 对于 i ≠ j    ( 1 ≤ i , j ≤ φ ( n ) ) i\neq j~~(1\leq i,j\leq \varphi(n)) i=j  (1i,jφ(n)),有 m i ≠ m j m_i\neq m_j mi=mj

证明:

考虑反证法。

设对于 i ≠ j    ( 1 ≤ i , j ≤ φ ( n ) ) i\neq j~~(1\leq i,j\leq \varphi(n)) i=j  (1i,jφ(n)),有 m i = m j m_i=m_j mi=mj

∵   m i = m j \because~m_i=m_j  mi=mj
      a × x i ≡ m i ( m o d p ) ~~~~~a \times x_i\equiv m_i \pmod p      a×ximi(modp)
      a × x j ≡ m j ( m o d p ) ~~~~~a \times x_j\equiv m_j \pmod p      a×xjmj(modp)
∴   a × x i ≡ a × x j ( m o d p ) \therefore~a \times x_i \equiv a\times x_j \pmod p  a×xia×xj(modp)

引理 a c ≡ b c ( m o d p ) ac\equiv bc \pmod p acbc(modp) 可以变成 a ≡ b ( m o d p d ) a \equiv b \pmod {\frac p d} ab(moddp),其中 d = gcd ⁡ ( c , p ) d=\gcd(c,p) d=gcd(c,p)

没错这就是上面的那个

因为 gcd ⁡ ( a , p ) = 1 \gcd(a,p)=1 gcd(a,p)=1,所以柿子可以变成

x i ≡ x j ( m o d p ) x_i\equiv x_j \pmod p xixj(modp)

显然 X X X 集合中没有相同的元素,故这条式子与假设矛盾。所以对于 i ≠ j    ( 1 ≤ i , j ≤ φ ( n ) ) i\neq j~~(1\leq i,j\leq \varphi(n)) i=j  (1i,jφ(n)),有 m i ≠ m j m_i\neq m_j mi=mj

得证。

引理2: 对于 m i    ( 1 ≤ i ≤ φ ( p ) ) m_i~~(1\leq i \leq \varphi(p)) mi  (1iφ(p)),有 m i ∈ X m_i \in X miX

证明:

∵   a × x i ≡ m i ( m o d p ) \because~a\times x_i \equiv m_i \pmod p  a×ximi(modp)

∵ gcd ⁡ ( a , p ) = 1 , gcd ⁡ ( x i , p ) = 1 \because \gcd(a,p)=1,\gcd(x_i,p)=1 gcd(a,p)=1,gcd(xi,p)=1

∴ gcd ⁡ ( a × x i , p ) = 1 \therefore \gcd(a\times x_i,p)=1 gcd(a×xi,p)=1

∴ gcd ⁡ ( m i , p ) = 1 \therefore \gcd(m_i,p)=1 gcd(mi,p)=1

∵   m i ≤ p \because~m_i\leq p  mip

∴   m i \therefore~m_i  mi 是一个小于 p p p 且与 p p p 互质的数

我们发现这正是 X X X 集合内的数的定义,于是有 m i ∈ X m_i\in X miX

得证。

回到上面的方程组,如果我们将这 φ ( p ) \varphi(p) φ(p) 条柿子乘起来,就得到了:
a φ ( p ) × x 1 × x 2 × ⋯ × x φ ( p ) ≡ m 1 × m 2 × ⋯ × m φ ( p ) a^{\varphi(p)}\times x_1\times x_2 \times \cdots \times x_{\varphi(p)}\equiv m_1 \times m_2 \times \cdots \times m_{\varphi(p)} aφ(p)×x1×x2××xφ(p)m1×m2××mφ(p)

因为 x i ∈ X , m i ∈ X    ( 1 ≤ i ≤ φ ( p ) ) x_i \in X,m_i \in X~~(1\leq i \leq \varphi(p)) xiX,miX  (1iφ(p)),且 X X X 中的元素两两互不相同, M M M 中的元素也是两两互不相同,综上所述,可以得出 M M M 集合与 X X X 集合完全相同。

也就是说,对于任意 m i   ( 1 ≤ i ≤ φ ( p ) ) m_i~(1 \leq i \leq \varphi(p)) mi (1iφ(p)),一定有一个相同的 x j   ( 1 ≤ j ≤ φ ( p ) ) x_j~(1 \leq j \leq \varphi(p)) xj (1jφ(p))

那么就可以将上面这条式子中的 m i m_i mi x j x_j xj 消掉了。

于是得到下面这条式子:
a φ ( p ) ≡ 1 ( m o d p ) a^{\varphi(p)}\equiv 1 \pmod p aφ(p)1(modp)

欧拉定理得证

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值