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

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

输入格式:

输入在一行给出正整数N

输出格式:

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

输入样例:

20

输出样例:

4
#include <stdio.h>
#include <algorithm>
#include <string>
#include <map>
#include <iostream>
#include <stack>
#include <math.h>
using namespace std;
const int maxn = ;
int index[maxn] = { };
bool isPrime(int i){
for (int k = ; k <= sqrt(i); k++){
if (i%k == )return false;
}
return true;
}
int main(){
int n, count = ;
cin >> n;
if (n == || n == ){
cout << '';
return ;
}
for (int i = ; i <= n; i++){
if (isPrime(i)){
index[i] = ; }
}
for (int i = ; i <= n-; i++){
if(index[i]== && (index[i + ] - index[i] == ))count++;
}
cout << count;
system("pause");
}

注意点:素数的判定一直是一个重点,本以为判断到平方根也会超时,结果没有还算好,有时间要去看一下时间复杂度最低的素数判定方法。这里我是把所有素数都存起来,用了hash,也可以生成一个判断一个,可以省点内存。

PAT B1007 素数对猜想 (20 分)的更多相关文章

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

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

  2. PAT Basic 1007 素数对猜想 (20 分)

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

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

    让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在无穷多对相邻且 ...

  4. PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数

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

  5. PAT乙级 1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...

  6. [C++]PAT乙级1007.素数对猜想 (20/20)

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

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

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

  8. B1007 素数对猜想

    B1007 素数对猜想 让我们定义\(d_n\)为:\(d_n =p_{n+1}−p_n\),其中\(p_i\)是第i个素数.显然有\(d_1=1\),且对于n>1有\(d_n\)是偶数.&qu ...

  9. PAT-乙级-1007. 素数对猜想 (20)

    1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...

随机推荐

  1. shell_语法

    1.运算符: 1.基本语法:$((运算式))或$[运算式] 2.expr + n // 注意运算符中间有空格 再用expr时要加 ` ` 号,* 号加转义字符\  \* ,表示乘 2.判断语句 [ c ...

  2. Linux常用基本命令:uniq-去重复

    uniq命令 作用:输出或者忽略文件中的重复行 格式: uniq [option] [file|stdin] ghostwu@dev:~/linux/uniq$ cat ghostwu.txt 192 ...

  3. python移位运算符

    1,二进制方式 >>> bin( 1 ) '0b1' >>> bin( 10 ) '0b1010' >>> a = 0b10 >>&g ...

  4. Codeforces841A

    A. Generous Kefa time limit per test:2 seconds memory limit per test:256 megabytes input:standard in ...

  5. Codeforces731C(SummerTrainingDay06-M 并查集)

    C. Socks time limit per test:2 seconds memory limit per test:256 megabytes input:standard input outp ...

  6. linux mysql 卸载与安装及配置命令

    1.RPM包安装方式的MySQL卸载 1) 检查是否安装了MySQL组件. # rpm -qa | grep -i mysql 2)卸载前关闭MySQL服务 # service mysql statu ...

  7. intellij idea 2016.3.5 控制台取消行数限制

    有时候我们要输出大量的信息放到控制台显示,但是多了之后就出现最上面的信息被覆盖删除, 因此就需要设置控制台的显示行数,但在idea7之后的版本中,取消了对控制台行数设置选项, 只能通过更改配置文件进行 ...

  8. js-ES6学习笔记-Proxy(2)

    1.has方法用来拦截HasProperty操作,即判断对象是否具有某个属性时,这个方法会生效.典型的操作就是in运算符. var handler = { has (target, key) { if ...

  9. JS--我发现,原来你是这样的JS(四)(看看变量,作用域,垃圾回收机制是啥)

    一.介绍 这是红宝书(JavaScript高级程序设计 3版)的读书笔记第四篇,是红宝书第四章内容(主要是变量和作用域问题),当然其中还有我个人的理解.红宝书这本书可以说是难啃的,要看完不容易,挺厚的 ...

  10. flutter .g文件生成不了

    [SEVERE] Conflicting outputs were detected and the build is unable to prompt for permission to remov ...