ACwing 196. 质数距离
#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. 质数距离的更多相关文章
- AcWing 196. 质数距离(筛法+离散化)打卡
给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的两个相邻质数 ...
- POJ2689 [质数距离] 题解
质数距离 题目TP门 题目描述 给定两个整数L和R,你需要在闭区间[L,R]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你 ...
- 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]) ...
- AcWing 最短Hamilton距离 (状压DP)
题目描述 给定一张 n 个点的带权无向图,点从 0∼n−1 标号,求起点 0 到终点 n−1 的最短 Hamilton 路径. Hamilton 路径的定义是从 0 到 n−1 不重不漏地经过每个点恰 ...
- AcWing P173 矩阵距离 题解
Analysis 就是一个裸的广搜,每次从是1的点开始找就好啦~~~ #include<iostream> #include<cstdio> #include<cstri ...
- CF735D Taxes 哥德巴赫猜想\判定素数 \进一步猜想
http://codeforces.com/problemset/problem/735/D 题意是..一个数n的贡献是它的最大的因子,这个因子不能等于它本身 然后呢..现在我们可以将n拆成任意个数的 ...
- OJ题解记录计划
容错声明: ①题目选自https://acm.ecnu.edu.cn/,不再检查题目删改情况 ②所有代码仅代表个人AC提交,不保证解法无误 E0001 A+B Problem First AC: 2 ...
- 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]) ...
- AcWing 868. 筛质数 线性筛法
#include <iostream> #include <algorithm> using namespace std; ; int primes[N], cnt; bool ...
随机推荐
- 当你使用Pycharm编译程序的时候,遇到了这个问题,该怎么办?please select a valid interpreter
1.打开settings(CTRL + ALT + S)或者 file---setting 2.搜索 Interpreter 3.安装一个python的解释器,自行去官网下载,安装的时候,记得勾选配置 ...
- Windows Server 2019远程桌面服务配置和授权激活
参考Windows Server 2016远程桌面服务配置和授权激活方法可适用于Windows Server 2019 Server 2016默认远程桌面连接数是2个用户,如果多余两个用户进行 ...
- SecureCRT 8.3注册码下载
SecureCRT注册码是一款针对“SecureCRT 8.3”软件而制作的激活破解工具,可以完美激活“SecureCRT”软件,从而达到免费使用的目的.而SecureCRT则是一款非常优秀的且支持s ...
- vs2017安装过程中下载不动的一种情况
第一种可能:微软可能有不同的下载地址,某些地址下载速度快,某些慢.这种情况下,禁用连接,再启用.有几率速度飞速上升. 第二种可能:由于总所周知的原因,连接不了Google.但是如果需要下载Androi ...
- Linux通配符知识深度实践详解
注意:linux通配符和三剑客(grep.awk.sed)正则表达式是不一样的,因此,代表的意义也有较大的区别. 通配符一般用户命令行bash环境,而Linux正则表达式用于grep.sed.awk场 ...
- #undef取消宏定义
如果你想定义这个宏那就#define X 如果你不想让你已经#define X的宏在其他地方由于引入这个包含宏定义的.h文件而引起一些编译问题,那你就#undef X掉,就这么简单. 举个简单的例子: ...
- pip安装源
目录 介绍 永久配置安装源 Windows MacOS.Linux 配置文件内容 介绍 """ 1.采用国内源,加速下载模块的速度 2.常用pip源: -- 豆瓣:htt ...
- txt\excel\cvs\xml存储测试数据
一.目录结构 二.txt存储数据 1.txtData.txt如下: 请您输入手机/邮箱/用户名 请您输入密码 请您输入验证码 2.helper中读取txt数据的代码 def readTXT(self) ...
- C# HttpWebRequest请求远程地址获取返回消息
HttpWebRequest请求远程地址获取返回消息 /// <summary> /// 请求远程Api获取响应返回字符串 /// </summary> /// <par ...
- C#int类型 转Byte[]
方法1:使用左移和右移 int转化为byte[]: public byte[] intToBytes(int value) { byte[] src = ...