POJ2689-Prime Distance【质数,数论】
正题
题目链接: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【质数,数论】相关推荐
- 解题报告:poj2689 Prime Distance
2017-10-03 11:29:20 writer:pprp 来源:kuangbin模板 从已经筛选好的素数中筛选出规定区间的素数 /* *prime DIstance *给出一个区间[L,U],找 ...
- 1619 例题 Prime Distance(POJ2689 LOJ10197 UVA10140 提高+/省选-) 线性筛 映射关系 0分 筛出区间内质数 超时0分 求任意区间质数的筛子100分
总目录 在线测评地址(ybt) 只有1个测试点 在线测评地址(POJ) 无法提交 在线测评地址(LOJ) 只有1个测试点 在线测评地址(LUOGU) 要有UVA账号才能提交 1.0分代 ...
- UVA10140 Prime Distance
UVA10140 Prime Distance 给定两个整数L,R(1<=L<=R<=2^{31},R-L<=10^6)L,R(1<=L<=R<=231,R− ...
- Prime Distance On Tree-树分治+FFT
题目描述 Problem description. You are given a tree. If we select 2 distinct nodes uniformly at random, w ...
- POJ - 2689 Prime Distance(素数区间筛模板)
题目链接:点击查看 题目大意:给出一段闭区间[l,r],求区间内相邻距离最大的素数对和相邻距离最小的素数对,题目保证r-l<=1e6,1<=l<=r<= 题目分析:因为我们要求 ...
- Prime Distance POJ - 2689 线性筛
一个数 $n$ 必有一个不超过 $\sqrt n$ 的质因子. 打表处理出 $1$ 到 $\sqrt n$ 的质因子后去筛掉属于 $L$ 到 $R$ 区间的素数即可. Code: #include&l ...
- uva 10140——Prime Distance
题意:题目出的很简单,给定一个数据范围(好吧,又是给定一个范围),然后问你在这个给定的范围内,哪两个相邻素数挨的最近,哪两个最远. 思路:这破题数据量很大,如果直接打表,铁定T,我蛋疼地打过两边了,T ...
- NOI题库 数论 相关的题目 汇总-2022.01.22
小学奥数 7654 等差数列末项计算 http://noi.openjudge.cn/math/7654/ 1.3编程基础之算术表达式与顺序执行 13 反向输出一个三位数 http://noi.ope ...
- 数论[计算机数学专题(5)]
哒哒哒!掌握一种心理学的学习概念,人的认知是不断成长的,不必要因为一时的失意,而否定您. 数学不好,也没关系,一起成长.早在出生起,我们每天笨拙的咿呀咿呀学汉语与走路,我们最终都学会了.为什么,因为那 ...
最新文章
- Codeforces Round #742 (Div. 2) E. Non-Decreasing Dilemma (线段树维护区间连续问题)
- 笔记-软考高项-错题笔记汇总1
- com.esri.android,解决ArcGIS Android Could not find class 'com.esri.android.map.MapView'问题
- 20145318赵一《网络对抗》后门原理与实践
- java用户角色权限管理 只显示姓_扩展RBAC用户角色权限设计方案
- centos在文本中搜索字符串_Google和Baidu的搜索技巧你会吗?
- python3如何安装numpy_python3怎么安装numpy
- Java简单小项目---网上订餐系统
- python手机号码替换代码_手机号码中间部分替换成星号
- GSM/CDMA/GPRS介绍
- Parsing error: No Babel config file detected for ....
- 不用Home Assistant让小米智能家居接入HomeKit
- PYsystem003 中职网络安全
- 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)
- CVE PoC的精选列表(三)
- 【译】Vertical-Align: All You Need To Know
- 剑网三游戏延迟太高卡顿进不去怎么处理?
- 【调剂】福建师范大学海峡创新实验室覃弦接收调剂研究生
- 大白菜U盘启动盘制作工具完整使用教程
- 大数据新算法在个人信用风险评估模型中使用效果的评估
热门文章
- epublib java_使用Epublib处理epub文件 | 学步园
- mysql修改主键生成策略信息_常用Hibernate 主键生成策略
- 单体 soa 微服务 区别_漫谈何时从单体架构迁移到微服务?
- c++随机数函数rand()
- 汉诺塔问题详细解析zufeoj
- C++实现链式存储二叉树
- Java多线程(review)
- linux连接http报301解决,https下不加www的301强制跳转
- word List 42
- 7-4 螺旋方阵 (20 分)