POJ 3518 Prime Gap(素数)
POJ 3518 Prime Gap(素数)
http://poj.org/problem?
id=3518
题意:
给你一个数。假设该数是素数就输出0. 否则输出比这个数大的素数与比这个数小的素数的差值。
分析:
明显本题先要用筛选法求出130W(严格的话应该是求第100001个素数)以内的全部素数。
然后推断给的数是否是素数就可以。
假设不是素数。那么就找出它在素数素组内的上界和下界,输出两个素数的差值就可以。
筛选法求素数可见:
http://blog.csdn.net/u013480600/article/details/41120083
AC代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int maxn=1300000;int prime[maxn+5];
int get_prime()
{memset(prime,0,sizeof(prime));for(int i=2;i<=maxn;i++){if(!prime[i]) prime[++prime[0]]=i;for(int j=1;j<=prime[0]&&prime[j]<=maxn/i;j++){prime[prime[j]*i]=1;if(i%prime[j]==0)break;}}return prime[0];
}int main()
{//生成maxn内的全部素数get_prime();int x;while(scanf("%d",&x)==1 && x){int bound=lower_bound(prime+1,prime+prime[0]+1,x)-prime;if(prime[bound]==x) printf("0\n");else printf("%d\n",prime[bound]-prime[bound-1]);}return 0;
}
转载于:https://www.cnblogs.com/brucemengbm/p/6807298.html
POJ 3518 Prime Gap(素数)相关推荐
- POJ 3518 Prime Gap(素数题)
[题意简述]:输入一个数,假设这个数是素数就输出0,假设不是素数就输出离它近期的两个素数的差值,叫做Prime Gap. [分析]:这题过得非常险.由于我是打的素数表. 由于最大的素数是1299709 ...
- Poj 1811 Prime Test 素数测试 Miller-Rabin 与 整数的因子分解 Pollard rho
随机化算法,想尝试自己写一下,最后还是变成了抄代码... 代码参考了:POJ 1811 Prime Test(大素数判断和素因子分解) - kuangbin - 博客园 学习链接: Miller-Ra ...
- POJ - 2689 Prime Distance(素数区间筛模板)
题目链接:点击查看 题目大意:给出一段闭区间[l,r],求区间内相邻距离最大的素数对和相邻距离最小的素数对,题目保证r-l<=1e6,1<=l<=r<= 题目分析:因为我们要求 ...
- Prime Gap(POJ-3518)
Problem Description The sequence of n − 1 consecutive composite numbers (positive integers that are ...
- POJ 3126 - Prime Path + Python(BFS)
()原题链接: # 原题:POJ 3126 - Prime Path | 眈眈探求 # 解题思路:https://blog.csdn.net/LYHVOYAGE/article/details/182 ...
- POJ 3126 Prime Path(BFS + 素数打表)
题意:给定两个四位素数, 从一个素数到另一个素数,最少用几步,可以一次更改四位中的任意一位,但每次改变都只能是素数. 解题思路:四位数每一位情况有十种情况0-9, 四位共有40种情况, 枚举40种情况 ...
- POJ - 3126 - Prime Path(BFS)
Prime Path POJ - 3126 题意: 给出两个四位素数 a , b.然后从a开始,每次可以改变四位中的一位数字,变成 c,c 可以接着变,直到变成b为止.要求 c 必须是素数.求变换次数 ...
- POJ 1811 Prime Test (Rabin-Miller强伪素数测试 和Pollard-rho 因数分解)
题目链接 Description Given a big integer number, you are required to find out whether it's a prime numbe ...
- poj 2689 大范围素数
题意:求大区间A B内离的最近和最远的两个素数,A B<=2,147,483,647. 分析:先用大素数的线性筛法,预处理出1-sqrt(2,147,483,647)的所有素数,然后用 b[0 ...
- c语言判断素数squ,poj1811——Prime Test//素数判断+整数分解因子
题意:给定N,如果N为素数,输出"Prime",否则输出其最小因子. 思路:用miller_rabin判断素数,pollardRho用于整数因子的分解.整数因子分解还有一个更快的算 ...
最新文章
- CentOS下安装ZooKeeper
- 分享一个自己用的Objective-C的Http接连类
- Java中ArrayList最大容量为什么是Integer.MAX_VALUE-8?
- mysql 二进制日志查看_使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)...
- HTML5与CSS3权威指南笔记案例1
- Eclipse之文件【默认编码格式设置】,防止乱码等问题
- 结构损伤检测与智能诊断 陈长征_宿迁厂房安全检测多少钱介绍说明
- 高仿阴阳师官网轮播图效果的jQuery插件
- 关于JVM的几个垃圾收集算法思想
- 网络阅卷系统服务器配置,网上阅卷系统建设实施方案.doc
- MATLAB地图作为底图,Matlab中自带地图绘制WorldMap详解
- python test suite什么意思_如何:在python中设置testsuite
- 对于gabor变换和gabor小波变换理解与总结
- 纯前端下载excel数据(导出)
- c语言编码rna翻译,哪位大牛有哈夫曼编码的C语言源程序,麻烦帮帮忙啦!
- 计算机组成原理求地址范围,计算机组成原理中给定两个地址码,如何求这两个地址码之间总容量...
- jquery+ajax+ashx。ashx的使用方法
- AdaCliP: Adaptive Clipping for Private SGD
- 场景文字检测之CTPN
- java 如何定时_Java怎么实现定时提醒功能
热门文章
- jira 6.X或confluence5.X linux/centos/ubuntu下设置开启启动
- Red Hat 4.4.7 安装 Mysql 5.7
- Wait 线程阻塞 与 Notify、NotifyAll 线程唤醒
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_08-freemarker基础-空值处理
- 阶段3 3.SpringMVC·_05.文件上传_5 文件上传之跨服务器上传分析和搭建环境
- 操作系统核心原理-4.线程原理(上):线程基础与线程同步
- Oracle之根据约束名查找表
- [No0000151]菜鸟理解.NET Framework中的CLI,CLS,CTS,CLR,FCL,BCL
- Android Studio Debug按钮简介
- ubuntu install pip