2024江苏省大学生程序设计大赛(JSCPC)热身赛题解(B)

题目大意:

求区间[l,r][l, r][l,r]中有多少正整数满足ϕ(ϕ(n))=ϕ(n)−1\phi(\phi(n)) = \phi(n) - 1ϕ(ϕ(n))=ϕ(n)1,其中ϕ\phiϕ为欧拉函数。

解:

y=ϕ(n)y=\phi(n)y=ϕ(n),则上式变为ϕ(y)=y−1\phi(y) = y - 1ϕ(y)=y1,易证yyy为质数(注意ϕ(1)=1\phi(1) = 1ϕ(1)=1111与任何正整数都互质)。

故原问题转化为求[l,r][l, r][l,r]中有多少个正整数v满足ϕ(v)\phi(v)ϕ(v)为质数。

首先111的欧拉函数是111,不是质数。

考虑欧拉函数的公式ϕ(n)=n(1−1p1)(1−1p2)⋅...⋅(1−1pk)=np1p2⋅...⋅pk(p1−1)(p2−1)⋅...⋅(pk−1)\phi(n) = n(1-\frac{1}{p_1})(1-\frac{1}{p_2})\cdot...\cdot(1-\frac{1}{p_k})=\frac{n}{p_1p_2\cdot...\cdot p_k}(p_1-1)(p_2-1)\cdot...\cdot(p_k-1)ϕ(n)=n(1p11)(1p

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值