让我们定义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

输出格式:

在一行中输出不超过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 素数对猜想(素数分布规律)相关推荐

  1. PAT-B 1007.素数对猜想

    1007. 素数对猜想 让我们定义 $d_n$ 为:$d_n = p_{n+1} - p_n$,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 $d_n$ 是偶数."素数对 ...

  2. 【PAT】1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想" ...

  3. 1007 素数对猜想 (20分)

    1007 素数对猜想 (20分) 让我们定义 ​​ 为:dn=pn+1−pnd_{n} = p_{n+1} - p_{n}dn​=pn+1​−pn​,其中pip_{i}pi​是第iii个素数.显然有d ...

  4. C++学习之路 | PTA乙级—— 1007 素数对猜想 (20分)(精简)

    1007 素数对猜想 (20分) 让我们定义d ​n ​​ 为:d ​n ​​ =p ​n+1 ​​ −p ​n ​​ ,其中p ​i ​​ 是第i个素数.显然有d ​1 ​​ =1,且对于n> ...

  5. 1007 素数对猜想(C语言)

    1007 素数对猜想 (20 分) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ,给定任意正整数N(<10 ...

  6. 1007 素数对猜想 (20 分)

    1007 素数对猜想 (20 分) 让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数."素数对猜想"认为"存在 ...

  7. 1007 素数对猜想 (20分)(C语言)

    1007 素数对猜想 (20分) 让我们定义d ​n ​​ 为:d ​n ​​ =p ​n+1 ​​ −p ​n ​​ ,其中p ​i ​​ 是第i个素数.显然有d ​1 ​​ =1,且对于n> ...

  8. PTA(BasicLevel)-1007素数对猜想

    一 问题描述-素数对 让我们定义素数差d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数.显然有d​1​​=1,且对于n>1有d​n​​是偶数."素数对猜 ...

  9. PAT (Basic Level) Practice (中文)1007 素数对猜想 (20 分)

    题目 让我们定义d​n 为:d​n​​ =p​n+1​​ −p​n​​ ,其中pi​​ 是第i个素数.显然有d​1​​ =1,且对于n>1有d​n​​ 是偶数."素数对猜想" ...

最新文章

  1. MyEclipse教程:Web开发——创建Web片段项目
  2. UIScrollView 的代理方法简单注解
  3. POJ1018贪心(多路归并的想法)
  4. redis高可用原理及demo
  5. 读书笔记《单核工作法》:2
  6. 反网络爬虫以及解决方案
  7. Scala 函数声明及调用案例详解
  8. mysql写到excel_使用Python从 MySQL写数据到Excel
  9. map集合遍历的五种方法
  10. android R编译Super镜像时报错问题分析和定位
  11. [Linux]gocron定时任务平台的部署
  12. android调用python模块 chaquo_小猿圈python学习-系统调用os模块
  13. 基于MINA构建简单高性能的NIO应用-优化指南
  14. 二进制包如何知道go 版本_你有同时使用多版本 Go 语言的需求吗,那就快使用多版本管理利器 GVM 吧!...
  15. 五十二 常用第三方模块 图形界面
  16. mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询
  17. 记录一次.net 4.7.2安装失败解决情况
  18. 关于解决锐捷校园网客户端与vm虚拟机网络冲突问题的方法
  19. Codeforce 1296 C. Yet Another Walking Robot
  20. 超简单的位运算---再也不用担心看不懂题解了

热门文章

  1. RETAS HD更新2009年最终版四模块集成安装包
  2. ubuntu 网桥 联网
  3. ARM与RISC-V架构的区别
  4. C++比较方便访问Mysql数据库的类库QTL
  5. MongoDB 官方文档学习笔记(一):概述、数据库、集合、视图及定容集合
  6. java-net-php-python-ssm办公室自动化网上消息子系统计算机毕业设计程序
  7. 视听说教程(第三版)4 quiz 5
  8. 24式太极拳文字讲解
  9. 8.Java-面向对象
  10. 2021年图灵奖揭晓!高性能计算领域首次得奖