首页 > 编程语言 >2024江苏省大学生程序设计大赛(JSCPC)热身赛题解(B)

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

时间:2024-05-11 22:44:17浏览次数:30  
标签:... phi frac cdot 题解 质数 2024 JSCPC 欧拉

题目大意:

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

解:

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

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

首先\(1\)的欧拉函数是\(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)\),其中\(p_1, p_2, \dots, p_k\)为\(n\)的所有质因数。

注意到上式中\(\frac{n}{p_1p_2\cdot...\cdot p_k}\)必定为一个正整数

观察质数\(2, 3, 5, 7, 9, 11, 13, ...\)

  1. 若\(n\)的质因数中包含\(\ge5\)的数时,设该数为\(m\),则\(m - 1\)一定是一个合数(因为这个范围内的质数一定都是奇数,且每两个质数之差\(\ge2\)),故\(n\)的欧拉函数不是质数。

  2. 若\(n\)的质因数只有\(2\)或\(3\),设\(n = 2^a 3^b\),

    • 若\(b>1\),则\(\frac{n}{p_1p_2\cdot...\cdot p_k}\)一定是3的倍数,且\((3 - 1) = 2\)同时又是右边的因子,故\(n\)的欧拉函数一定是合数,不是质数(\(n\)是\(2\times 3\)的倍数)。
    • 若\(b=0\),则\(\phi(n)=\frac{n}{2}\),只有当\(a=2\)时\(n\)的欧拉函数是质数。
    • 若\(b=1\),
      • 若\(a>1\),则\(\frac{n}{p_1p_2\cdot...\cdot p_k}\)一定是2的倍数,且\((3 - 1) = 2\)同时又是右边的因子,故\(n\)的欧拉函数一定是合数,不是质数。

接下来讨论\(a=0\)和\(a=1\),最后总结得出欧拉函数为质数的正整数只有\(3, 4, 6\)。

int l, r;

// 返回0~x中欧拉函数是质数的数的个数
int ans(int x) {
	if (x >= 6) return 3;
	if (x >= 4) return 2;
	if (x >= 3) return 1;
	return 0;
}

void solve() {
	cout << ans(r) - ans(l - 1) << '\n';
}

标签:...,phi,frac,cdot,题解,质数,2024,JSCPC,欧拉
From: https://www.cnblogs.com/lightmon5210/p/18187284

相关文章

  • 2024 高校网络安全管理运维赛wp
    misc签到gif内藏了flag,拼接后rot13钓鱼邮件识别base64解密邮件内容,得到第一段flagflag{pHiSHhuntiNg}注意到DKIM存在信息,根据GitHub-kmille/dkim-verify:VerifyingaDKIM-Signaturebyhand,得到第二段flagdigtxt+shortdefault._domainkey.foobar-edu-cn.com"v=DKI......
  • set 容器详解 附大根堆题解
    声明本文中题解部分内容大部分转载自@sonnety的这篇博客中,本文为为方便复习而写的结论类文章,读者可自行跳转至原文处阅读。PART1set什么是set——来源cppreference简言之,它就是一种存进去就可以自动按升序排列的特殊容器,通常的set还具有自动去重的功能。定义方......
  • 2024-05-11 react-native 相关面试题
     ReactNative是什么?ReactNative是Facebook开源的一个使用JavaScript和React编写原生应用的框架。它允许开发者使用JavaScript和React编写跨平台的移动应用,这些应用可以运行在iOS和Android平台上。ReactNative有哪些优点?跨平台:一套代码可以开发出跨平台的app,减少了人......
  • 工作疑难问题解决4例
      记录一下工作上疑难问题解决:  一,方便的页面监控     前几天早上,负责的kettle抽取数据表的任务又报错了,早上看手机有4个未接报警电话,一看是人员表,原来昨天报表系统有个大的查询一直未查询完成,导致truncate这个人员表,无法活动meta的锁,后续执行抽取和计算的都报错......
  • U423621 [HDK - NRC] Sqen Paradox 题解
    题目描述及\(O(n^2)\)做法见这个设\(a_i\)表示以\(i\)为左端点,无重复元素的最长区间的左端点,这个直接拿双指针做就行。处理出来后,分类讨论,找\(\max(i-l+1,i-a_i+1)\),找\(i-l+1\)拿个桶维护一下左端点为\(i\)的右端点有那些就行,剩下的位置找最值即可,这个是RMQ。时间......
  • 2024年4月国产数据库大事记-墨天轮
    本文为墨天轮社区整理的2024年4月国产数据库大事件和重要产品发布消息。目录2024年4月国产数据库大事记TOP102024年4月国产数据库大事记(时间线)产品/版本发布兼容认证代表厂商大事记排行榜新增数据库厂商活动相关资料2024年4月国产数据库大事记TOP102024年4月国产......
  • 2024 年 5 月 10 日 周五 阴 凉(1025 字)
    正文上午真的好困。反正这两天处于交接工作的状态,我在二楼或者一楼都行,没人管我。于是我就跑到三楼,躺在了自己的床上(笑。本想稍微睡一下就好了,毕竟还在工作时间,从9:48-10:10。结果太困了,多睡了会儿,到10:32。下去似乎还是没人管。精神确实好了一些。起码做事不会感到一股强......
  • 工作疑难问题解决4例
      记录一下工作上疑难问题解决:  一,方便的页面监控     前几天早上,负责的kettle抽取数据表的任务又报错了,早上看手机有4个未接报警电话,一看是人员表,原来昨天报表系统有个大的查询一直未查询完成,导致truncate这个人员表,无法活动meta的锁,后续执行抽取和计算的都报错......
  • 【2024-05-10】干好本职
    20:00喜怒哀乐之未发,谓之中。发而皆中节,谓之和。中也者,天下之大本也。和也者,天下之达道也。致中和,天地位焉,万物育焉。                                                 ......
  • hj_podman_20240510
    略创建文件夹&容器停止&删除yuminstallpodmanyumupdate/apt-getupdate#podmanexec-u0-ita4a89d953992/bin/bash这是root账户进入-u0~~~#mysql8.0.37podmanpullmysql:8.0.37mkdir-p/home/hj/hj_mysql8.0.37_3307cd/home/hj/hj_mysql8.0.37_33......