NOI-OJ 1.12 ID:10 素数对
整体思路
本题涉及大量素数的使用,故使用埃拉拖色尼算法提前计算出素数表可以避免大量、重复的计算。
判断素数对很简单,使用两个变量p1和p2代表素数表中的第一个和第二个素数,依次在表中向后移动,判断p2-p1是否等于2即可。
例程
#include<iostream>
#include<cmath>
using namespace std;
bool ss[10001]; //素数表
int count; //计数器
void altsn(int N){ //埃拉托色尼算法
ss[0]=1;
ss[1]=1;
int p=2;
while(p<=sqrt(N))
if(ss[p]) p++;
else{
int times=2;
while(p*times<=N) { ss[p*times]=1; times++;}
p++;
}
}
bool isP(int n){ //素数判断函数
if(!ss[n]) return true;
return false;
}
int main(){
int N, p1=-1, p2=-1;
cin>>N;
altsn(N); //造表
for(int i=2; i<=N; i++){
if(isP(i)){
p1=p2, p2=i;
if((p2-p1)==2) { printf("%d %d\n", p1, p2); count++; }
}
}
if(!count) printf("empty");
return 0;
}
NOI-OJ 1.12 ID:10 素数对的更多相关文章
- 2016年12月10日 星期六 --出埃及记 Exodus 21:5
2016年12月10日 星期六 --出埃及记 Exodus 21:5 "But if the servant declares, `I love my master and my wife ...
- Windows-WMI 事件 ID 10或0x80041003 死机 解药
最近笔记本重复了好几次奇怪的现象,重启后进入桌面,然后死机,木有蓝屏. 后来在安全模式里查了事件,如下 日志名称: Application 来源: Micros ...
- Network Real Trace Analysis 2015年12月10日
了解网络中真实的流量,国内很难找到巨人的肩膀. WAND是新西兰waikato 大学计算机系的研究小组,主要做网络测量,大规模网络流量捕获,网络分析.还做专业的分析软件. libtrace是其开源的分 ...
- 北京Uber优步司机奖励政策(12月10日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(10月12日~10月18日)
用户组:优步北京人民优步A组(适用于10月12日-10月18日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...
- mysql中delete from t1 where id = 10加锁状况叙述
在Next_Key Lock算法中,不仅仅锁定住所找到的索引,而且还锁定住这些索引覆盖的范围.因此在这个范围内的插入都是不允许的.这样就避免了在这个范围内插入数据导致的幻读问题. delete fro ...
- 【2018年12月10日】A股最便宜的股票
新钢股份(SH600782) - 当前便宜指数:196.21 - 滚动扣非市盈率PE:2.86 - 动态市净率PB:0.95 - 动态年化股息收益率:1.78% - 新钢股份(SH600782)的历史 ...
- 2015年12月10日 spring初级知识讲解(二)最小化Spring XML配置 注解
序,随着Spring容器管理Bean数量增加,XML文件会越来越大,而且纯手工配置XML很繁琐,Spring和JAVA都提供了一些注解方式用以简化XML配置. 目录 一.自动装配(autowiring ...
- 九度OJ题目1208:10进制 VS 2进制 (JAVA)
题目描述: 对于一个十进制数A,将A转换为二进制数,然后按位逆序排列,再转换为十进制数B,我们乘B为A的二进制逆序数. 例如对于十进制数173,它的二进制形式为10101101,逆序排列得到1 ...
随机推荐
- Bootstrap -- 下拉菜单、输入框组、导航菜单
Bootstrap -- 下拉菜单.输入框组.导航菜单 1. 下拉菜单 可以使用带有各种大小按钮的下拉菜单:.btn-lg..btn-sm 或 .btn-xs. 实现下拉菜单: <!DOCTYP ...
- qemu 系列
一.. qemu uboot 1. 首先安装交叉编译器,执行: sudo apt-get install gcc-arm-linux-gnueabi 2. 下载U-Boot源文件: ht ...
- How Cigna Tuned Its Spark Streaming App for Real-time Processing with Apache Kafka
Explore the configuration changes that Cigna’s Big Data Analytics team has made to optimize the perf ...
- 数据可视化的开源方案: Superset vs Redash vs Metabase (二)
在上篇结尾处我提到“如果现在让我重新选择,我会使用哪个可视化工具?”我的答案是 Redash,原因主要不是功能层面,而是技术层面.本篇就从项目关注度与活跃度,项目的技术架构,源代码的规模与质量,这三个 ...
- 3.15 总结,初始java
- mysql partition分区
(转) 自5.1开始对分区(Partition)有支持 = 水平分区(根据列属性按行分)=举个简单例子:一个包含十年发票记录的表可以被分区为十个不同的分区,每个分区包含的是其中一年的记录. === 水 ...
- 移动端1px的解决办法之styled
做项目的时候总结了一个styled中解决移动端项目1px像素线的问题,封装了一个函数,大家可以直接使用,很方便. 1 import styled from 'styled-components' co ...
- 文本分类实战(三)—— charCNN模型
1 大纲概述 文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类.总共有以下系列: word2vec预训练词向量 te ...
- C#/.NET基于Topshelf创建Windows服务程序及服务的安装和卸载(极速,简洁)
本文首发于:码友网--一个专注.NET/.NET Core开发的编程爱好者社区. 文章目录 C#/.NET基于Topshelf创建Windows服务的系列文章目录: C#/.NET基于Topshelf ...
- OpenStack-Neutron(5)
一. Neutron 概述 SDN(software-defined networking)软件定义网络,其所具有的灵活性和自动化优势使其成为云时代网络管理的主流. Neutron的设计目标是实现“网 ...