正题

题目链接:http://poj.org/problem?id=2689


题目大意

求闭区间[L,R][L,R][L,R]中相邻的最远和最近的两个质数。


解题思路

我们可以用前R−−√个质因子筛这个区间内的质数R个质因子筛这个区间内的质数\sqrt R个质因子筛这个区间内的质数


解题思路

#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#define N 1000010
using namespace std;
int l,r,ok[N],uok[N],prime[N],tot,pre,mark1,mark2,makr1,makr2,i;
int main()
{while(scanf("%d%d",&l,&r)==2){int t=sqrt(r);tot=0;for(i=2;i<=t;i++)//筛前根号R个{if(!ok[i]){prime[++tot]=i;for(int j=2*i;j<=t;j+=i)ok[j]=true;}}memset(uok,0,sizeof(uok));for(i=1;i<=tot;i++)//筛这个范围内的{int &a=prime[i],L=l/a,R=r/a;if(l%a) L++;for(int j=L;j<=R;j++)if(a*j!=prime[i])uok[a*j-l]=true;}if(l==1)uok[0]=1;for(i=0;i<=r-l&&uok[i];i++);pre=i;makr1=-2147483647/3;makr2=2147483647/3;mark1=0;mark2=0;bool flag=false;for(i++;i<=r-l;i++)//寻找最近和最远{if(!uok[i]){ if(mark2-mark1<i-pre){mark2=i+l;mark1=pre+l;}if(makr2-makr1>i-pre){makr2=i+l;makr1=pre+l;}flag=true;pre=i;}}if(flag)printf("%d,%d are closest, %d,%d are most distant.\n",makr1,makr2,mark1,mark2);elseprintf("There are no adjacent primes.\n");}
}

POJ2689-Prime Distance【质数,数论】相关推荐

  1. 解题报告:poj2689 Prime Distance

    2017-10-03 11:29:20 writer:pprp 来源:kuangbin模板 从已经筛选好的素数中筛选出规定区间的素数 /* *prime DIstance *给出一个区间[L,U],找 ...

  2. 1619 例题 Prime Distance(POJ2689 LOJ10197 UVA10140 提高+/省选-) 线性筛 映射关系 0分 筛出区间内质数 超时0分 求任意区间质数的筛子100分

    总目录 在线测评地址(ybt)   只有1个测试点 在线测评地址(POJ)   无法提交 在线测评地址(LOJ)   只有1个测试点 在线测评地址(LUOGU)   要有UVA账号才能提交 1.0分代 ...

  3. UVA10140 Prime Distance

    UVA10140 Prime Distance 给定两个整数L,R(1<=L<=R<=2^{31},R-L<=10^6)L,R(1<=L<=R<=231,R− ...

  4. Prime Distance On Tree-树分治+FFT

    题目描述 Problem description. You are given a tree. If we select 2 distinct nodes uniformly at random, w ...

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

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

  6. Prime Distance POJ - 2689 线性筛

    一个数 $n$ 必有一个不超过 $\sqrt n$ 的质因子. 打表处理出 $1$ 到 $\sqrt n$ 的质因子后去筛掉属于 $L$ 到 $R$ 区间的素数即可. Code: #include&l ...

  7. uva 10140——Prime Distance

    题意:题目出的很简单,给定一个数据范围(好吧,又是给定一个范围),然后问你在这个给定的范围内,哪两个相邻素数挨的最近,哪两个最远. 思路:这破题数据量很大,如果直接打表,铁定T,我蛋疼地打过两边了,T ...

  8. NOI题库 数论 相关的题目 汇总-2022.01.22

    小学奥数 7654 等差数列末项计算 http://noi.openjudge.cn/math/7654/ 1.3编程基础之算术表达式与顺序执行 13 反向输出一个三位数 http://noi.ope ...

  9. 数论[计算机数学专题(5)]

    哒哒哒!掌握一种心理学的学习概念,人的认知是不断成长的,不必要因为一时的失意,而否定您. 数学不好,也没关系,一起成长.早在出生起,我们每天笨拙的咿呀咿呀学汉语与走路,我们最终都学会了.为什么,因为那 ...

最新文章

  1. Codeforces Round #742 (Div. 2) E. Non-Decreasing Dilemma (线段树维护区间连续问题)
  2. 笔记-软考高项-错题笔记汇总1
  3. com.esri.android,解决ArcGIS Android Could not find class 'com.esri.android.map.MapView'问题
  4. 20145318赵一《网络对抗》后门原理与实践
  5. java用户角色权限管理 只显示姓_扩展RBAC用户角色权限设计方案
  6. centos在文本中搜索字符串_Google和Baidu的搜索技巧你会吗?
  7. python3如何安装numpy_python3怎么安装numpy
  8. Java简单小项目---网上订餐系统
  9. python手机号码替换代码_手机号码中间部分替换成星号
  10. GSM/CDMA/GPRS介绍
  11. Parsing error: No Babel config file detected for ....
  12. 不用Home Assistant让小米智能家居接入HomeKit
  13. PYsystem003 中职网络安全
  14. 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)
  15. CVE PoC的精选列表(三)
  16. 【译】Vertical-Align: All You Need To Know
  17. 剑网三游戏延迟太高卡顿进不去怎么处理?
  18. 【调剂】福建师范大学海峡创新实验室覃弦接收调剂研究生
  19. 大白菜U盘启动盘制作工具完整使用教程
  20. 大数据新算法在个人信用风险评估模型中使用效果的评估

热门文章

  1. epublib java_使用Epublib处理epub文件 | 学步园
  2. mysql修改主键生成策略信息_常用Hibernate 主键生成策略
  3. 单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?
  4. c++随机数函数rand()
  5. 汉诺塔问题详细解析zufeoj
  6. C++实现链式存储二叉树
  7. Java多线程(review)
  8. linux连接http报301解决,https下不加www的301强制跳转
  9. word List 42
  10. 7-4 螺旋方阵 (20 分)