PAT——1007素数对猜想(C++)

问题描述:

让我们定义d_{n}为:d_{n}=p_{n+1}-p_{n}​,其中p_{i}​是第i个素数。显然有d1​=1,且对于n>1有d_{n}​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。

现给定任意正整数 N (<10^5),请计算不超过 N 的满足猜想的素数对的个数。

输入格式:

在一行输入正整数N

输出格式:

输出N以内的所有素数,两个素数之间用两个空格隔开。

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

输入样例:

请输入数字N(N>=2):
20

输出样例:

即20以内的所有素数为:
2  3  5  7  11  13  17  19
其中素数对有 4 个

运行截图:

程序代码:

  代码中 bool  prime() 函数判断一个数是否为质数的原理:

如果一个数N不是素数,那么必有N=a×b(a、b都不等于1),且a、b两个数中必有一个大于或等于根号N,
一个小于或等于根号N。因此,只要小于或等于根号N的数(1除外)不能整除N,那么N就一定是素数。
#include<iostream>
using namespace std;/*定义一个bool型的函数prime(),用来判断一个数字是否为质数*/
bool prime(int x) {int y = sqrt(x);for (int i = 2; i <= y; i++) {if (x % i == 0) {return false;}}return true;
}int main() {int n, sum = 0, len = 0;//sum表示素数对的个数,len表示数组arr[]的长度cout << "请输入数字N(N>=2):" << endl;cin >> n;int arr[100000];//定义一个数组,用来存放n以内的所有质数/*从2开始遍历到N,逐个判断*/for (int j = 2; j <= n; j++) {if (prime(j)) {//调用prime()函数,判断j是否为质数,如果j是质数,将j存入数组arr[len] = j;len++;}}/*输出N以内的所有素数*/cout << "\n即" << n << "以内的所有素数为:" << endl;for (int i = 0; i < len; i++) {cout << arr[i] << "  ";}cout <<endl;/*统计其中素数对的个数*/for (int i = 1; i < len; i++) {if (arr[i] - arr[i - 1] == 2) {sum++;}}/*输出素数对的个数*/cout << "其中素数对有 " << sum << " 个" << endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

# 从浅入深 学习 SpringCloud 微服务架构(四)Ribbon

从浅入深 学习 SpringCloud 微服务架构&#xff08;四&#xff09;Ribbon 段子手168 一、ribbon 概述以及基于 ribbon 的远程调用。 1、ribbon 概述&#xff1a; Ribbon 是 Netflixfa 发布的一个负载均衡器,有助于控制 HTTP 和 TCP客户端行为。 在 SpringCloud 中 Eureka …

ubuntu 23.04 Dell T3660 听歌没声音的尝试

首先&#xff0c;还是要安装PulseAudio Volume Control sudo apt install pulseaudio 或者 snap install pulseaudio 装了pulseaudio可以在configure和playback间切换选择用哪个声卡输出声音&#xff0c;一般选Stereo Analog Output 网上其他办法也可以试试&#xff0c;比…

STM32 CAN发送邮箱和接收FIFO

STM32的CAN发送邮箱和接收FIFO CAN发送邮箱 CAN外设一共有3个发送邮箱&#xff0c;即最多可以缓存3个待发送的报文。每个发送邮箱中包含有标识符寄存器CAN_TIxR、数据长度控制寄存器CAN_TDTxR及2个数据寄存器CAN_TDLxR、 CAN_TDHxR&#xff0c;它们的功能如下&#xff1a; 寄…

Flutter 插件站新升级: 加入优秀 GitHub 开源项目

Flutter 插件站新升级: 加入优秀 GitHub 开源项目 视频 https://youtu.be/qa49W6FaDGs https://www.bilibili.com/video/BV1L1421o7fV/ 前言 原文 https://ducafecat.com/blog/flutter-awesome-github-repo-download 这几天晚上抽空把 Flutter 插件站升级&#xff0c;现在支…

qt实现不定数量的按钮向前向后移动展示

按钮模拟移动 引言示例代码第一种思路开发环境代码结构实现代码第二种思路开发环境实现代码第三种思路开发环境实现代码总结引言 此文主要记录用qt实现按钮的移动,具体效果如下: 模拟按钮移动效果 示例代码 本文记录了三种实现方式。 第一种 思路 用动态数组vector存放创…

【python项目推荐】键盘监控--统计打字频率

原文&#xff1a;https://greptime.com/blogs/2024-03-19-keyboard-monitoring 代码&#xff1a;https://github.com/GreptimeTeam/demo-scene/tree/main/keyboard-monitor 项目简介 该项目实现了打字频率统计及可视化功能。 主要使用的库 pynput&#xff1a;允许您控制和监…

【多线程】synchronized原理 | 锁升级| 锁消除 | 锁粗化 | 信号量 | CountDownLatch

文章目录 一、synchronized原理synchronized属于哪种锁&#xff1f; 1.锁升级偏向锁&#xff1a; 2.锁消除3.锁粗化锁的粒度 二、信号量 Semaphore三、CountDownLatch1.await方法2.countDown方法 一、synchronized原理 synchronized属于哪种锁&#xff1f; ​ 在初始情况下&am…

【oceanbase】安装ocp,ocp部署oceanbase

https://www.oceanbase.com/docs/common-ocp-1000000000584989 资源 iphostnamecpumem组件192.168.0.71obnode-000-071816oceanbase-ce192.168.0.72obnode-000-072816oceanbase-ce192.168.0.73obnode-000-073816oceanbase-ce192.168.0.74obproxy-000-07424obproxy-ce192.168.0…

【Java EE】网络初识

目录 1.网络发展史 2.局域网LAN 2.1组建方式 2.1.1基于网线直连 2.1.2基于集线器组建 2.1.3基于交换机组建 2.1.4基于交换机和路由器组建 3.广域网WAN 4.网络通信基础 4.1 IP地址 4.1.1概念 4.1.2格式 4.1.3端口号 4.1.3.1概念 4.1.3.2格式 4.2认识协议 4.2.1概…

算法矩阵提速原理

不管是图形还是AI&#xff0c;如果看过相关的算法&#xff0c;都会注意到矩阵运算&#xff0c;很多讲算法的教程都会说将for转换成矩阵&#xff0c;可以极大的增加效率。 但是这不是为难我们这些数学低能儿吗&#xff1f;矩阵运算这些高级货算是高级数学了&#xff0c;比CURD还…

Qt 跨平台开发的一丢丢总结

Qt 跨平台开发 文章目录 Qt 跨平台开发摘要第一 \ & /第二 神奇{不能换行显示第三 预处理宏 关键字&#xff1a; Qt、 win、 linux、 lib、 MSVC 摘要 最近一直在琢磨Qt跨平台开发的问题&#xff0c;缘由有以下几个&#xff0c; 首先第一个&#xff0c;我们目前开发…

医院敏感文件交互 如何保障安全和效率?

医院会产生大量的敏感文件&#xff0c;这些敏感文件交互时&#xff0c;都需要使用特殊的手段&#xff0c;来保障数据的安全性。 医院的敏感数据主要包括以下几类&#xff1a; 1、患者基本信息&#xff1a;包括患者的姓名、身份证号码、户籍地或现住址、联系方式、文化程度、既…

docker基础知识-01

Docker是什么 Docker是一个开源的容器化平台&#xff0c;用于开发、打包和运行应用程序。它允许开发者将应用程序及其所有依赖项打包到一个可移植的容器中&#xff0c;然后可以在任何支持Docker的环境中运行。Docker的主要优势是可以在不同的操作系统、云服务和物理机上快速、…

【数据结构】二叉树链式结构的实现《遍历,实现》(题库+解析+源码)

前言 二叉树的学习离不开对堆的理解&#xff0c;这是上篇堆的传送门 http://t.csdnimg.cn/F6Jp3 1.二叉树链式结构的实现 1.1 前置说明 在学习二叉树的基本操作前&#xff0c;需先要创建一棵二叉树&#xff0c;然后才能学习其相关的基本操作。由于现在大家对二 叉树结构掌握还…

【LLM】向量知识库

文章目录 认识向量知识库向量Embeddings向量数据库向量数据库的作用向量数据库与传统数据库的区别 Embedding API使用公有Embedding API自定义一个Embeedding API 常见文本数据的预处理搭建并使用向量数据库思考向量数据库在LLM中的价值体现向量的妙用&#xff0c;可行&#xf…

gcc,软硬链接和制作动静态库

gcc的操作 预处理 gcc -E file.c -o file.i -E选项表示预处理完就停下来&#xff0c;在编译时-o file.i可以省略&#xff0c;编译器会默认生成同名的.i文件 编译 gcc -S file.i -o file.s -s表示生成完汇编码就停下来&#xff0c;在编译时-o file.s可以省略&#xff0c;编…

如何进行嵌入式软件的测试和认证

嵌入式软件是指被安装在嵌入式设备中的软件&#xff0c;例如数字电视、洗衣机、手机游戏等。嵌入式软件经过分析、设计和编码后&#xff0c;必须被烧入硬件环境才能运行&#xff0c;因此嵌入式软件测试是针对嵌入式系统的特殊测试方法。 嵌入式软件调试&#xff0c;主要有以下…

代码随想录算法训练营一刷总结篇

去年12月份的时候开始陆续刷题&#xff0c;开始刷了半个多月&#xff0c;后来因为研究生开题答辩&#xff0c;停刷了半个月&#xff0c;到1月上旬又是拖了一个星期才开始继续刷的。感觉自己一个人刷题经常就会因为一些事情&#xff0c;很容易就停刷&#xff1b;刷过的题也不记得…

Linux 上清理 SSSD Cache

1. 简介 系统安全服务守护程序 (SSSD) 提供对身份和身份验证提供程序的访问。 基本上&#xff0c;SSSD 不依赖于本地配置的身份验证&#xff0c;而是用于查找其本地缓存。 此缓存中的条目可能来自不同的远程身份提供商&#xff0c;例如 LDAP 目录、FreeIPA 或 Active Director…

HOT100与剑指Offer

文章目录 前言一、763. 划分字母区间&#xff08;HOT100&#xff09;二、6. 从尾到头打印链表&#xff08;剑指Offer&#xff09;总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划刷完hot100和剑指Offer的刷题计划&#xff0c;加油&#xff01; 根据要…