1007 素数对猜想(素数分布规律)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。
现给定任意正整数N
(<105),请计算不超过N
的满足猜想的素数对的个数。
输入格式:
输入在一行给出正整数N
。
输出格式:
在一行中输出不超过N
的满足猜想的素数对的个数。
输入样例:
20
输出样例:n
4
分析:
之所以写这个题目是因为我在一篇博客中学习到了质数分布的规律:大于等于5的质数一定和6的倍数相邻。例如:5、7, 11、13等。
证明如下:
设n >= 1,则大于等于5的自然数可以表示为:6n - 1, 6n, 6n + 1, 6n + 2, 6n + 3, 6n + 4, 6n + 5, 6(n + 1), 6(n + 1) + 1, 6(n + 1) + 2……
如果不在6n两侧,即类似于6n + 2, 6n + 3, 6n + 4的数,可以化为:2(3n + 1), 3(2n + 1), 2(3n + 2),所以它们一定不是素数,明显6n也不是素数。所以说,素数只可能分布在6的倍数两侧。
代码:
#include<iostream>
#include<cmath>using namespace std;int IsPrime(int num);int main(){int N;int cnt = 1;cin >> N;for(int i = 6; i < N; i += 6){if(IsPrime(i - 1) && IsPrime(i + 1))cnt++;}if(N <= 4) cout << '0';else cout << cnt;
}int IsPrime(int num){int flag = 1;for(int i = 2; i <= sqrt(num); i++){if(num % i == 0){flag = 0;break;}}return flag;
}
1007 素数对猜想(素数分布规律)相关推荐
- PAT-B 1007.素数对猜想
1007. 素数对猜想 让我们定义 $d_n$ 为:$d_n = p_{n+1} - p_n$,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 $d_n$ 是偶数."素数对 ...
- 【PAT】1007. 素数对猜想 (20)
1007. 素数对猜想 (20) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想" ...
- 1007 素数对猜想 (20分)
1007 素数对猜想 (20分) 让我们定义 为:dn=pn+1−pnd_{n} = p_{n+1} - p_{n}dn=pn+1−pn,其中pip_{i}pi是第iii个素数.显然有d ...
- C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)
1007 素数对猜想 (20分) 让我们定义d n 为:d n =p n+1 −p n ,其中p i 是第i个素数.显然有d 1 =1,且对于n> ...
- 1007 素数对猜想(C语言)
1007 素数对猜想 (20 分) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ,给定任意正整数N(<10 ...
- 1007 素数对猜想 (20 分)
1007 素数对猜想 (20 分) 让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数."素数对猜想"认为"存在 ...
- 1007 素数对猜想 (20分)(C语言)
1007 素数对猜想 (20分) 让我们定义d n 为:d n =p n+1 −p n ,其中p i 是第i个素数.显然有d 1 =1,且对于n> ...
- PTA(BasicLevel)-1007素数对猜想
一 问题描述-素数对 让我们定义素数差dn为:dn=pn+1−pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数."素数对猜 ...
- PAT (Basic Level) Practice (中文)1007 素数对猜想 (20 分)
题目 让我们定义dn 为:dn =pn+1 −pn ,其中pi 是第i个素数.显然有d1 =1,且对于n>1有dn 是偶数."素数对猜想" ...
最新文章
- MyEclipse教程:Web开发——创建Web片段项目
- UIScrollView 的代理方法简单注解
- POJ1018贪心(多路归并的想法)
- redis高可用原理及demo
- 读书笔记《单核工作法》:2
- 反网络爬虫以及解决方案
- Scala 函数声明及调用案例详解
- mysql写到excel_使用Python从 MySQL写数据到Excel
- map集合遍历的五种方法
- android R编译Super镜像时报错问题分析和定位
- [Linux]gocron定时任务平台的部署
- android调用python模块 chaquo_小猿圈python学习-系统调用os模块
- 基于MINA构建简单高性能的NIO应用-优化指南
- 二进制包如何知道go 版本_你有同时使用多版本 Go 语言的需求吗,那就快使用多版本管理利器 GVM 吧!...
- 五十二 常用第三方模块 图形界面
- mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询
- 记录一次.net 4.7.2安装失败解决情况
- 关于解决锐捷校园网客户端与vm虚拟机网络冲突问题的方法
- Codeforce 1296 C. Yet Another Walking Robot
- 超简单的位运算---再也不用担心看不懂题解了