PAT B1007 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数。显然有d1=1,且对于n>1有dn是偶数。“素数对猜想”认为“存在无穷多对相邻且差为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 分)的更多相关文章
- PAT (Basic Level) Practice (中文)1007 素数对猜想 (20分)
1007 素数对猜想 (20分) 让我们定义dn为:dn = pn+1 − pn,其中pi是第i个素数.显然有d1 = 1,且对于n > 1有dn是偶数."素数对猜想"认 ...
- PAT Basic 1007 素数对猜想 (20 分)
让我们定义dn为:dn=pn+1−pn,其中pi是第i个素数.显然有d1=1,且对于n>1有dn是偶数.“素数对猜想”认为“存在无穷多对相邻且差为2的素 ...
- PAT 1007. 素数对猜想 (20)
让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数."素数对猜想"认为"存在无穷多对相邻且 ...
- PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数
PAT 乙级 1007. 素数对猜想 (20) c++ 筛选法求素数 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数 ...
- PAT乙级 1007. 素数对猜想 (20)
1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...
- [C++]PAT乙级1007.素数对猜想 (20/20)
/* 1007. 素数对猜想 (20) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数.“素数对猜想”认为“存在无穷 ...
- 【PAT】1007. 素数对猜想 (20)
1007. 素数对猜想 (20) 让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数.显然有 d1=1 且对于n>1有 dn 是偶数.“素数对猜想”认为“存在无穷多对相 ...
- B1007 素数对猜想
B1007 素数对猜想 让我们定义\(d_n\)为:\(d_n =p_{n+1}−p_n\),其中\(p_i\)是第i个素数.显然有\(d_1=1\),且对于n>1有\(d_n\)是偶数.&qu ...
- PAT-乙级-1007. 素数对猜想 (20)
1007. 素数对猜想 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 让我们定义 dn 为:dn = ...
随机推荐
- CA210彩分仪校准步骤
1.menu(space key)2.space (08307009 U) 按键2次)->(EXT)3.BLUE(按键4次)->PAL4.enter5.0校准(0对准CAL(按住探头)出现 ...
- deferred对象详解
什么是Deferred对象 defer,推迟:延期.含义就是”延迟”到未来某个点再执行. 在开发中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数 ...
- SD从零开始05-06
SD从零开始5 从库存销售 销售凭证类型Sales document type: 用来鉴别和控制不同的业务流程类型: 标准的销售凭证类型: standard order: Rush order: Ca ...
- 【Python】生成词云
import matplotlib.pyplot as plt from wordcloud import WordCloud import jieba text_from_file_with_apa ...
- Linux 同步时间 设置时区
简化版 同步时间 #直接用域名同步中国上海时间 ntpdate -u ntp.api.bz # hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代 ...
- python终端总是无法删除字符
yum install readline-devel
- 从 Azure 下载 Windows VHD
本文介绍如何使用 Azure 门户从 Azure 下载 Windows 虚拟硬盘 (VHD) 文件. Azure 中的虚拟机 (VM) 将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure ...
- 总结获取原生JS(javascript)的父节点、子节点、兄弟节点
关于原生JS获取节点,一直是个头疼的问题,而且调用方法的名字又贼长了,所以我选择用JQ,好像跑题了-- 话不多说看代码 获取父节点 及 父节点下所有子节点(兄弟节点) <ul> <l ...
- orcl创建数据库
1.首先先创建一个文件夹存放数据库目录:d:cs 用户及密码为cs 2.创建表空间: create tablespace csdatafile 'O:\cs\cs.dbf' size 5 ...
- HTTP学习---TCP三次握手和四次挥手
IP协议 首先我们看 IP(Internet Protocol)协议.IP 协议提供了主机和主机间的通信. 为了完成不同主机的通信,我们需要某种方式来唯一标识一台主机,这个标识,就是著名的IP地址.通 ...