#include <bits/stdc++.h>

using namespace std;
const int N = , M = ;
int v[M];
long long prime[N],prim[N];
int cun=;
int inint(int n)
{
for(int i=;i<=n;i++)
{
if(!v[i])
{
v[i]=i;
prim[cun++]=i;
}
for(int j=;j<cun;j++)
{
if(prim[j]>n/i||prim[j]>v[i])break;
v[i*prim[j]]= prim[j];
}
}
}
int main()
{
long long l, r;
inint();
while(cin >> l>> r)
{
memset(v,,sizeof(v));
for(int i=;i<cun;i++)
{ long long p=prim[i];
for(long long j = max(*p,(l+p-)/p*p);j<=r;j+=p)
{
v[j-l]=;
}
}
cun =;
for(int i= ;i<=r-l;i++)
{
if(v[i]==&&i+l>)prime[cun++] = i;
}
if(cun <)
{
cout <<"There are no adjacent primes."<<endl;
}
else{
int mind=,maxd=;
for(int i=;i+<cun;i++)
{
int d = prime[i+] - prime[i];
if(d>prime[maxd+]-prime[maxd])maxd=i;
if(d<prime[mind+]-prime[mind])mind = i;
}
printf("%d,%d are closest, %d,%d are most distant.\n",prime[mind]+l,prime[mind+]+l,prime[maxd]+l,prime[maxd+]+l);
}
} return ;
}

ACwing 196. 质数距离的更多相关文章

  1. AcWing 196. 质数距离(筛法+离散化)打卡

    给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的两个相邻质数 ...

  2. POJ2689 [质数距离] 题解

    质数距离 题目TP门 题目描述 给定两个整数L和R,你需要在闭区间[L,R]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你 ...

  3. acwing 173. 矩阵距离(bfs)

    给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l]) ...

  4. AcWing 最短Hamilton距离 (状压DP)

    题目描述 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径. Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰 ...

  5. AcWing P173 矩阵距离 题解

    Analysis 就是一个裸的广搜,每次从是1的点开始找就好啦~~~ #include<iostream> #include<cstdio> #include<cstri ...

  6. CF735D Taxes 哥德巴赫猜想\判定素数 \进一步猜想

    http://codeforces.com/problemset/problem/735/D 题意是..一个数n的贡献是它的最大的因子,这个因子不能等于它本身 然后呢..现在我们可以将n拆成任意个数的 ...

  7. OJ题解记录计划

    容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001  A+B Problem First AC: 2 ...

  8. AcWing:173. 矩阵距离(bfs)

    给定一个N行M列的01矩阵A,A[i][j] 与 A[k][l] 之间的曼哈顿距离定义为: dist(A[i][j],A[k][l])=|i−k|+|j−l|dist(A[i][j],A[k][l]) ...

  9. AcWing 868. 筛质数 线性筛法

    #include <iostream> #include <algorithm> using namespace std; ; int primes[N], cnt; bool ...

随机推荐

  1. JAVA是否适合非科班者自学入行?石油工程专业从培训到JAVA入门自学亲身经历

    如今的我已经过了三十而立的年纪,虽然在三十岁我没有立下任何事业,相反,还在茫茫苦海中挣扎. 但是我并不是没有收获.当然,曾经在我拥有大好青春年华的时候选择了迷茫,以至于当我有所明悟的时候,却已经错过了 ...

  2. CentOS7怎么安装图形界面

    step1: 进入下载页,选择阿里云站点进行下载 Actual  Country 国内资源                   Nearby Countries  周边国家资源 阿里云站点:http: ...

  3. linux中查找命令find、locate、whereis、which、type的区别

    find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...

  4. prometheus 监控 hadoop + Hbase + zookeeper

    1. run JMX exporter as a java agent with all the four daemons. For this I have added EXTRA_JAVA_OPTS ...

  5. Linux下查看文件编码及批量修改编码

    查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vi ...

  6. Linux下部署FastDFS

    FastDFS的安装 首先需要准备的资源如下:     libfastcommon-master:https://github.com/happyfish100/libfastcommon FastD ...

  7. Oracle的查询-单行查询

    单行函数:作用于一行,返回一个值 多行函数:作用于多行,返回一个值 字符函数 --小写变大写 select upper('yes') from dual; --YES --大写变小写 select u ...

  8. double write 双写

    Oracle 8KB Postgresql 8KB MySQL Innodb 16KB buffer page block首先,要DML数据,需要先把page读取到index page中,之后对内存中 ...

  9. 22 Years of KDE

    22 Years of KDEhttps://timeline.kde.org/ http://www.kdedevelopers.org/

  10. 深入理解计算机系统 第十一章 网络编程 part2 第二遍

    客户端和服务器通过因特网这个全球网络来通信.从程序员的观点来看,我们可以把因特网看成是一个全球范围的主机集合,具有以下几个属性: 1.每个因特网主机都有一个唯一的 32 为名字,称为它的 IP 地址 ...