欧拉函数以及应用大全(通俗讲解)

前言:

下面我会详细介绍欧拉函数和应用,例题有难有易,我也会尽量说的清楚。例题难度我大概给一个评级,在 1 1 1 7 7 7 之间。

除特别标注的地方外,其余均为原创!

码字不易,欢迎留赞!

介绍

欧拉函数: φ ( n ) \varphi(n) φ(n) 表示在 [ 1 , n ] [1, n] [1,n] 之间与 n n n 互质的数, x x x n n n 互质指的是 gcd ⁡ ( x , n ) = 1 \gcd(x,n)=1 gcd(x,n)=1

欧拉定理: gcd ⁡ ( a , m ) = 1 \gcd(a,m) = 1 gcd(a,m)=1,则 a φ ( m ) ≡ 1 ( m o d    m ) a^{\varphi(m)} \equiv 1(\mod m) aφ(m)1(modm)

证明:

图片转载处:https://blog.csdn.net/weixin_43627118/article/details/103357469


φ ( n ) \varphi(n) φ(n)(容斥)

首先我们要解决如何快速求欧拉函数。暴力做法时间复杂度过大,大部分题目都无法容忍,那么该怎么办呢?我们来讲讲怎样用容斥求欧拉函数。

例题 1 1 1(模板,难度 3 3 3

题意

给定 n n n,求 φ ( n ) \varphi(n) φ(n)

n ≤ 1 0 12 n \leq 10^{12} n1012

思路

转化一下题意:我们要求 x x x 的数量,满足 gcd ⁡ ( x , n ) = 1 \gcd(x,n)=1 gcd(x,n)=1。(不懂见介绍)

n n n 过大,我们无法用暴力解决。

我们要求 x x x 的数量,满足 gcd ⁡ ( x , n ) = 1 \gcd(x,n)=1 gcd(x,n)=1

n n n 分解质因数后是 p 1 r 1 × p 2 r 2 × p 3 r 3 p1^{r1} \times p2^{r2} \times p3^{r3} p1r1×p2r2×p3r3 p 1 , p 2 , p 3 p1,p2,p3 p1,p2,p3 是不同的质数。可以发现, p 1 , p 2 , p 3 p1,p2,p3 p1,p2,p3 的倍数一定与 n n n 不互质,我们要把这些数减去:

n − n ÷ p 1 − n ÷ p 2 − n ÷ p 3 n-n \div p1-n\div p2-n\div p3 nn÷p1n÷p2n÷p3

这个公式对了吗?不对!有数字被重复减去了!比如 p 1 × p 2 p1 \times p2 p1×p2 n ÷ p 1 n \div p1 n÷p1 减了一次, n ÷ p 2 n \div p2 n÷p2 也减了一次,一共减了两次,所以得加回来。同理, p 2 × p 3 p2 \times p3 p2×p3 p 1 × p 3 p1 \times p3 p1×p3 也是如此。我们要把他们三个以及他们的倍数都加回来:

n − n ÷ p 1 − n ÷ p 2 − n ÷ p 3 + n ÷ ( p 1 × p 2 ) + n ÷ ( p 2 × p 3 ) + n ÷ ( p 1 × p 3 ) n-n \div p1-n\div p2-n\div p3+n\div (p1\times p2)+n\div (p2\times p3) +n\div (p1 \times p3) nn÷p1n÷p2n÷p3+n÷(p1×p2)+n÷(p2×p3)+n÷(p1×p3)

呼,这个公式对了吧?还是不对!你可否发现 p 1 × p 2 × p 3 p1\times p2 \times p3 p1×p2×p3 这个数先是 − 3 -3 3,然后又是 + 3 +3 +3,最后没减也没加!但是它肯定是不符合要求的,它的倍数也是如此,所以我们还要把它的倍数再全部减去:

n − n ÷ p 1 − n ÷ p 2 − n ÷ p 3 + n ÷ ( p 1 × p 2 ) + n ÷ ( p 2 × p 3 ) + n ÷ ( p 1 × p 3 ) − n ÷ ( p 1 × p 2 × p 3 ) n-n \div p1-n\div p2-n\div p3+n\div (p1\times p2)+n\div (p2\times p3) +n\div (p1 \times p3) - n \div (p1\times p2\times p3) nn÷p1n÷p2n÷p3+n÷(p1×p2)+n÷(p2×p3)+n÷(p1×p3)n÷(p1×p2×p3)

这个公式对了吗?对了,终于对了,没有再多加少加的东西了。

下面,我们需要化简这个式子:

n − n ÷ p 1 − n ÷ p 2 − n ÷ p 3

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值