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(素数)相关推荐

  1. POJ 3518 Prime Gap(素数题)

    [题意简述]:输入一个数,假设这个数是素数就输出0,假设不是素数就输出离它近期的两个素数的差值,叫做Prime Gap. [分析]:这题过得非常险.由于我是打的素数表. 由于最大的素数是1299709 ...

  2. Poj 1811 Prime Test 素数测试 Miller-Rabin 与 整数的因子分解 Pollard rho

    随机化算法,想尝试自己写一下,最后还是变成了抄代码... 代码参考了:POJ 1811 Prime Test(大素数判断和素因子分解) - kuangbin - 博客园 学习链接: Miller-Ra ...

  3. POJ - 2689 Prime Distance(素数区间筛模板)

    题目链接:点击查看 题目大意:给出一段闭区间[l,r],求区间内相邻距离最大的素数对和相邻距离最小的素数对,题目保证r-l<=1e6,1<=l<=r<= 题目分析:因为我们要求 ...

  4. Prime Gap(POJ-3518)

    Problem Description The sequence of n − 1 consecutive composite numbers (positive integers that are ...

  5. POJ 3126 - Prime Path + Python(BFS)

    ()原题链接: # 原题:POJ 3126 - Prime Path | 眈眈探求 # 解题思路:https://blog.csdn.net/LYHVOYAGE/article/details/182 ...

  6. POJ 3126 Prime Path(BFS + 素数打表)

    题意:给定两个四位素数, 从一个素数到另一个素数,最少用几步,可以一次更改四位中的任意一位,但每次改变都只能是素数. 解题思路:四位数每一位情况有十种情况0-9, 四位共有40种情况, 枚举40种情况 ...

  7. POJ - 3126 - Prime Path(BFS)

    Prime Path POJ - 3126 题意: 给出两个四位素数 a , b.然后从a开始,每次可以改变四位中的一位数字,变成 c,c 可以接着变,直到变成b为止.要求 c 必须是素数.求变换次数 ...

  8. 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 ...

  9. poj 2689 大范围素数

    题意:求大区间A  B内离的最近和最远的两个素数,A B<=2,147,483,647. 分析:先用大素数的线性筛法,预处理出1-sqrt(2,147,483,647)的所有素数,然后用 b[0 ...

  10. c语言判断素数squ,poj1811——Prime Test//素数判断+整数分解因子

    题意:给定N,如果N为素数,输出"Prime",否则输出其最小因子. 思路:用miller_rabin判断素数,pollardRho用于整数因子的分解.整数因子分解还有一个更快的算 ...

最新文章

  1. CentOS下安装ZooKeeper
  2. 分享一个自己用的Objective-C的Http接连类
  3. Java中ArrayList最大容量为什么是Integer.MAX_VALUE-8?
  4. mysql 二进制日志查看_使用mysqlbinlog从二进制日志文件中查询mysql执行过的sql语句 (原)...
  5. HTML5与CSS3权威指南笔记案例1
  6. Eclipse之文件【默认编码格式设置】,防止乱码等问题
  7. 结构损伤检测与智能诊断 陈长征_宿迁厂房安全检测多少钱介绍说明
  8. 高仿阴阳师官网轮播图效果的jQuery插件
  9. 关于JVM的几个垃圾收集算法思想
  10. 网络阅卷系统服务器配置,网上阅卷系统建设实施方案.doc
  11. MATLAB地图作为底图,Matlab中自带地图绘制WorldMap详解
  12. python test suite什么意思_如何:在python中设置testsuite
  13. 对于gabor变换和gabor小波变换理解与总结
  14. 纯前端下载excel数据(导出)
  15. c语言编码rna翻译,哪位大牛有哈夫曼编码的C语言源程序,麻烦帮帮忙啦!
  16. 计算机组成原理求地址范围,计算机组成原理中给定两个地址码,如何求这两个地址码之间总容量...
  17. jquery+ajax+ashx。ashx的使用方法
  18. AdaCliP: Adaptive Clipping for Private SGD
  19. 场景文字检测之CTPN
  20. java 如何定时_Java怎么实现定时提醒功能

热门文章

  1. jira 6.X或confluence5.X linux/centos/ubuntu下设置开启启动
  2. Red Hat 4.4.7 安装 Mysql 5.7
  3. Wait 线程阻塞 与 Notify、NotifyAll 线程唤醒
  4. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_08-freemarker基础-空值处理
  5. 阶段3 3.SpringMVC·_05.文件上传_5 文件上传之跨服务器上传分析和搭建环境
  6. 操作系统核心原理-4.线程原理(上):线程基础与线程同步
  7. Oracle之根据约束名查找表
  8. [No0000151]菜鸟理解.NET Framework中的CLI,CLS,CTS,CLR,FCL,BCL
  9. Android Studio Debug按钮简介
  10. ubuntu install pip