【PAT乙级】题解-1007 素数对猜想

PAT乙级 1007 素数对猜想 让我们定义dn​dn​​pn1​​−pn​​,其中pi​​是第i个素数。显然有d1​​=1,且对于n>1有dn​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。 阅读详情

PAT :计算机程序设计能力考试:一个高校编程学习赛,内容基础,据说题目描述含糊不清,造成诸多理解错误。

第一观感是:输入输出样例极少,未给学生充分理解题目,提供更多辅助。

PAT 乙级:只涉及基础编程,最难到排序算法。适合基础语法学习阶段的同学。

问题描述

让我们定义 d n d_n dn​ 为: d n d_n dn​ = p n + 1 p_{n+1} pn+1​ - p n p_n pn​,其中 p i p_i pi​ 是第 i 个素数。显然有 d 1 = 1 d_1 = 1 d1​=1,且对于 n>1 有 d n d_n dn​ 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为 2 的素数”。现给定任意正整数 N (<105),请计算不超过 N 的满足猜想的素数对的个数。

输入格式

输入在一行给出正整数 N。

输出格式

在一行中输出不超过 N 的满足猜想的素数对的个数。

输入输出样例

输入样例输出样例
204
72

样例解释:无

题解 1

思路分析:遍历 3~n 中,所有的素数,判断当前素数和前一个素数的差,是否为 2,初始前一个素数定义为 2。

#include<iostream>
using namespace std;

bool isPrime(int x);

int main() {

	int n;
	cin >> n;

	int cnt = 0;
	int pre = 2;	// 记录前一个素数
	for(int i = 3; i <= n; i++) {
		if(isPrime(i)) {
			if(i - pre == 2) {
				cnt ++;
			}
		pre = i;
		}
	}

	cout << cnt << endl;
	return 0;
} 

bool isPrime(int x) {
	if(x < 2) return false;

	for(int i = 2; i * i <= x; i++) {
		if(x % i == 0) return false;
	}
	return true;
}
PAT 1007. 素数对猜想 python 运行超时问题解决方案 判断素数的方法举例,不止是 sqrt() 阅读详情

相关推荐

PAT/PTA乙级1007素数对猜想题解

import java.util.*; public class Main{ public static void main(String args[]){ Scanner in =new Scanner(System.in); int n=in.nextInt(); in.close(); int count=0; ArrayList list=new ArrayList(); for(int i=2.

编程小鹏的博客 210

1007 素数对猜想——C++实现

题目 1007 素数对猜想 (20 point(s)) 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n&gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(&lt;10​5​​),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 ...

吉大秦少游 2373

基于mediapipe的动作捕捉和人物模型的驱动

我实习做这个的时候,当时也找了很多资料,但很多资料都没有讲透,下面我就总结一下自己结合看代码后的感悟,还有一些我认为很重要的点。

qq_58484580的博客 7707

【PAT乙级】1007素数对猜想 C++实现

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar

m0_53171456的博客 750

从Pikachu靶场实战解析越权漏洞:原理、攻击与防御

本文通过Pikachu靶场实战详细解析越权漏洞的原理、攻击方式与防御策略。文章深入探讨水平越权和垂直越权的危害,结合代码示例展示漏洞利用过程,并提供代码层和架构层的立体化防御方案,帮助开发者有效防范这一Web安全隐形杀手。

weixin_29325007的博客 358

【origin】负载牵引的Smith圆图

export导出为txt,得到的是幅相值,复制到excel如下图,有多根类似格式的线,只需要复制DE列到origin中。回到sheet,发现新增了选中的一组值,就是解释过后的值。笔者没找到把所有线一起画出的方法,只能蠢一点,一组一组画。而且,箭头所指的位置都变成了Y轴(应该要为X轴)以此类推,把之后的曲线都画完,可以汇总到一个图中。显示以下界面,点击右上圆图,选择解释。会生成新的graph,再重新解释一次。选择第二组线,同样画smith圆图。选中第一组线,选smith圆图。复制到origin,如下图。

乾巽的博客 2920

C/C++快速求素数【细节满满】

在以前的学习的时候,我们写过如何求1-n以内的素数,也写过判断某个数是否是素数。然后我们从数字2(我们知道数字2是素数)开始进行对其整数倍进行标记,同理3也是如此。循环2-sqrt(x),然后对x进行取余,如果取余结果为0,则不是素数,反之,是素数。首先,我们要有1-n之间的数,然后一个一个的判断其是不是素数,然后进行打印。判断是不是素数,不要写一个判断函数,从2-sqrt(n)进行循环取余判断。欧拉筛是唯一筛掉一个数的筛法,不存在重复计算,所以时间复杂度是O(n)。同样地,我们首先是提供1-n之间的数。

敲代码嘞~的博客 5438

华为海思2026届数字IC秋招笔试真题解析与实战技巧(2025最新版)

本文深度解析华为海思2026届数字IC秋招笔试真题,涵盖高频考点如后端设计、低功耗设计、SystemVerilog语法等核心内容。提供时序违例修复、时钟树综合等实战技巧,帮助考生高效备考。特别关注UPF低功耗设计规范等最新考点,助力考生在秋招笔试中脱颖而出。

lg888的博客 1090

【ACM】算法题-求素数(筛法求素数)(由简至难C++多种解法)

求素数(依题限制多种解法)(C++) 题目 从键盘上输入一个正整数N(N<=100),求N之内的素数 样例输入复制 100 样例输出复制 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 解法 素数一般指质数,质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数,否则称为合数。 方法一(简单)「效率为O(sqrt(n))」(局部) bool is_prime(int n) {//O(sqrt(

Qiqy 的博客 2559

在VM虚拟机的MobaXterm下安装JDK17

本文介绍了在Linux系统下安装配置JDK17的完整步骤:1)从Oracle或OpenJDK官网下载Linux版JDK17压缩包;2)上传至/usr/local目录;3)解压安装包;4)通过编辑/etc/profile文件配置环境变量,添加JAVA_HOME和PATH路径;5)使用source命令使配置生效;6)通过javac -version验证安装是否成功。整个过程涵盖了从下载到环境配置的完整流程,确保Java开发环境正确设置。

qq_2937655951的博客 442

pgsql行列转换

‌是PostgreSQL中的一个函数,用于将一个字符串根据正则表达式进行分割,并将结果返回为一个表格,每个分割后的部分作为一行‌‌。string_agg() 函数是 PostgreSQL 中的一个聚合函数,用于将一个列中的值连接成一个字符串。

chimchim66的博客 3503

C/C++语言100题练习计划 97——素数对

C/C++语言100题练习计划 97——素数对

Code_流苏:在代码中寻诗意,在实践中觅真知 1718

(五)激光线扫描-位移台标定

线激光属于主动测量方式,但是由于线激光的特性,我们只能通过提取激光中心线获取这一条线上的高度信息,那么要进行三维重建的话,就需要通过平移或者是旋转的方式,来让线激光扫描被测物体的完整轮廓,也就是整个表面。激光线的密度越高还原出来的物体越细腻,但由于数据量大,也会导致速度变慢。下面以位移台为例讲解,如何标定位移台。

FlyWine的博客 2890

B1007 PAT乙级JAVA题解 素数对猜想

让我们定义dn​为:dn​=pn+1​−pn​,其中pi​是第i个素数。显然有d1​=1,且对于n>1有dn​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。

qq_49695680的博客 185

STM32入门教程:智能储物柜控制

在这个例子中,我们将使用一个4x4的储物柜,共有16个储物格。我们了解了硬件准备、储物柜电路设计、STM32的基本配置、储物柜控制代码的编写以及测试和调试等方面的知识。根据我们的电路设计,我们需要将一些引脚配置为输出,并将其他引脚配置为输入。在本教程中,我们将使用STM32微控制器来实现一个基本的智能储物柜控制系统。在主函数中,我们将不断循环读取传感器数据,并根据数据的变化来控制储物柜的开关和显示相关信息。这个函数将读取人体感应传感器、温湿度传感器和光照传感器的数据,并将数据存储到相应的变量中。

m0_75244442的博客 662

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

PAT乙级题解( 1007. 素数对猜想 )

1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶

Hehehehe 420

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

JavaScript PAT乙级题解 1007素数对猜想

JavaScript PAT乙级题解 1007素数对猜想

weixin_47925230的博客 190

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

PAT乙级【Java题解合集】

超级全的PAT的JAVA题解

小羊不会飞的博客 3732

PAT刷题之乙级1007 素数对猜想

目录PAT刷题之乙级1006(cpp)题目描述输入格式输出格式输入样例输出样例问题分析运行实现 PAT刷题之乙级1006(cpp) 题目描述        让我们定义dn​为:dn=p​n+1−p​n,其中p​i​​ 是第i个素数。显然有d1​​=1,且对于n>1有d​n是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2...

ThunderF的博客 752

PAT 乙级题目讲解:1007《素数对猜想》

本文详细讲解了 PAT 乙级 1007 题「素数对猜想」的完整解题过程。题目要求统计不超过 N 的素数对(差值为 2 的相邻素数)个数。文章采用埃拉托色尼筛法高效筛选素数,再通过枚举奇数判断素数对,时间复杂度优化至 O(N log log N)(其中 N ≤ 10⁵)。同时总结了常见易错点(暴力判断超时、枚举边界错误、标记逻辑混淆等),并拓展介绍了孪生素数猜想与更高效的筛法优化方向。

qq_35624947的博客 916

PAT 乙级 1007(素数对猜想)

PAT 乙级 1007题目要求代码思路 题目要求 让我们定义dnd_ndn​为:dnd_ndn​=pn+1p_{n+1}pn+1​ - pnp_npn​,其中pip_ipi​是第i个素数。显然有d1d_1d1​=1,且对于n>1有dnd_ndn​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<10510^5105),请计算不超过N的满足猜想的素数对...

qq_42865772的博客 266

【JAVA】PAT 乙级 1007 素数对猜想

【JAVA】PAT 乙级 1007 素数对猜想 题目链接 让我们定义d​n为:d​n​​ =p​n+1​​ −p​n​​ ,其中p​i​​ 是第i个素数。显然有d ​1​​ =1,且对于n>1有d​n​​ 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<10​5​​),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 ...

TAL_DARIM的博客 263

PAT 乙级 1007 素数对猜想

1007 素数对猜想 (20 point(s)) 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n&gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(&lt;10​^5​​),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 输出格...

漫浸天空的雨色的备忘录~ 1710

PAT乙级1007 素数对猜想

PAT乙级1007 素数对猜想 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n&gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N(&lt;10​5​​),请计算不超过N的满足猜想的素数对的个数。 输入格式:输入在一行给出正整数N。输出格式:在一行中输出不超过N的满足猜想的...

qq_43609741的博客 361

算法笔记刷题7(PAT乙级1007素数猜想)

算法笔记刷题7(PAT乙级1007素数猜想) 题目 让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<105),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 输出格式: 在一行中输出不超过N的满足猜想的素数对的个数。 输入样例: 20 输出样例: 4 解答 看到这个题我是不屑一顾的,因为“看起来”就是很简单啊!!!于是我飞快写出

Dalham的博客 608
上一篇: 【PAT乙级】题解-1006 换个格式输出整数
下一篇: 【PAT乙级】题解-1008 数组元素循环右移问题
老坛算粉
博客等级 码龄12年 708粉丝 73原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老坛算粉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值