POJ2689-Prime Distance【质数,数论】

正题

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


题目大意

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


解题思路

我们可以用前RR个质因子筛这个区间内的质数


解题思路

#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");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

for循环(三)

利用for循环打出乘法口诀表 #include<stdio.h>main(){int i,j,k;for(i1;i<10;i){for(j1;j<i1;j){printf("%d*%d%d\t",i,j,ki*j); }printf("\n");} } ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190324224732816.png?x-oss-proce…

springboot实现用户统一认证、管理

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是&#xff1a;2022年5月25日13:44:16最近和模拟登录杠上了&#xff0c;这不&#xff0c;又来了个需求&#xff0c;还是以这个技术点入手的。需求大概是这样的&#xff1a;为了统…

Mybatis 使用的 9 种设计模式,真是太有用了

转载自 Mybatis 使用的 9 种设计模式&#xff0c;真是太有用了 虽然我们都知道有26个设计模式&#xff0c;但是大多停留在概念层面&#xff0c;真实开发中很少遇到&#xff0c;Mybatis源码中使用了大量的设计模式&#xff0c;阅读源码并观察设计模式在其中的应用&#xff0c;…

P1463-[POI2002][HAOI2007]反素数【约数,数论】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1463 题目大意 求1∼n1∼n中最大的一个约数个数比前面的所有数都要多的数。 解题思路 首先根据数据我们可以得知这个数的质因子不超过10个。而且这个数的质因子是连续若干个最小的质数&#xff0c;而…

springboot实现用户统一认证、管理-前端实现

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年6月2日15:43:51 上篇文章讲述了springboot中实现用户统一认证的具体内容&#xff0c;主要从后端角度出发的&#xff0c;其实大部分功能还是前端与后端交互的…

for循环(四)

利用for循环打出任意金字塔层数 #include<stdio.h>main(){int i,j,k,ceng;printf("请输入金字塔层数"); scanf("%d",&ceng);for(i1;i<ceng;i){for(j1;j<ceng-i1;j){printf(" ");}for(k1;k<i;k){printf(" *");}pri…

Unity3damp;amp;C#分布式游戏服务器ET框架介绍-组件式设计

前几天写了《开源分享 Unity3d客户端与C#分布式服务端游戏框架》&#xff0c;受到很多人关注&#xff0c;QQ群几天就加了80多个人。开源这个框架的主要目的也是分享自己设计ET的一些想法&#xff0c;所以我准备写一系列的文章&#xff0c;介绍下自己的思路跟设计&#xff0c;每…

springboot+vue实现用户统一认证、管理-前端实现

“大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂”前言现在是&#xff1a;2022年6月2日15:43:51上篇文章讲述了springboot中实现用户统一认证的具体内容&#xff0c;主要从后端角度出发的&#xff0c;其实大部分功能还是前端与后端交互的…

JS中 [] == ![]结果为true,而 {} == !{}却为false, 追根刨底

转载自 JS中 [] ![]结果为true&#xff0c;而 {} !{}却为false&#xff0c; 追根刨底 console.log( [] ![] ) // true console.log( {} !{} ) // false 在比较字符串、数值和布尔值的相等性时&#xff0c;问题还比较简单。但在涉及到对象的比较时&#xff0c;问题就变…

P2261-[CQOI2007]余数求和【数论,约数】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP2261 题目大意 求∑i1nk%i\sum^{n}_{i1}k\%i∑i1n​k%i。 解题思路 将k%ik\%ik%i展开一下&#xff0c;k−i∗⌊k/i⌋k-i*\lfloor k/i\rfloork−i∗⌊k/i⌋&#xff0c;然后答案就是 ∑i1nk−i∗⌊k/…

Centos7 amp;amp; Docker amp;amp; Jenkins amp;amp; ASP.NET Core

写在前面 Docker一直很火热&#xff0c;一直想把原本的Jenkins自动部署工具搬到Docker上面&#xff0c;无奈今年一直忙于各种事情&#xff0c;迟迟未实施这个事情&#xff0c;正好迎来了dotnet core 2.0 的正式发布&#xff0c;升级项目的同时&#xff0c;顺便直接将Jenkins搬到…

国民体质测定标准手册及标准解析成JSON文件计算分数,java解析excel文件

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 前言 现在是&#xff1a;2022年6月14日10:07:27 最近在做体质测评的功能&#xff0c;需要依据《国民体质测定标准手册及标准》&#xff0c;根据用户的个人信息&#xff0c;从而计算出各个…

getchar与putchar用法

#include<stdio.h>main(){int i;igetchar();//相当于char i;scanf("%c",&i); putchar(i);//相当于printf("%c",i); 需要i是字符才能输出不能是变量printf("\n");printf("%d",i);}输出结果一致 #include<stdio.h>main…

TCP为什么是三次握手和四次挥手

转载自 TCP为什么是三次握手和四次挥手 为什么建立连接是三次握手断开连接是四次挥手&#xff1f; 三次握手的流程和四次挥手的流程是什么&#xff1f; 三次握手与四次回收分别对应TCP连接与断开过程 tcp报文格式 标志位含义 ACK&#xff1a;确认序号有效。 SYN&#x…

P1072-Hankson的趣味题【数论,gcd】

正题 评测记录:https://www.luogu.org/recordnew/lists?uid52918&pidP1072 题目大意 a1gcd(a0,x)a1gcd(a0,x)b1gcd(b0,x)b1gcd(b0,x)求xx解题思路如果 a1=gcd(a0,x)" role="presentation">a1=gcd(a0,x)a1=gcd(a0,x) 所以xka∗a1xka∗a1b1gcd(b0,x)b1g…

HTM文件中使用vue

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂。 代码啊&#xff0c;尤其是比较重要客户的项目&#xff0c;即使包出去了&#xff0c;代码也一定要回到自己手里&#xff0c;不然干着急。 这个项目&#xff0c;已经经过两手了&#xff0c…

LVS三种模式的区别及负载均衡算法

转载自 LVS三种模式的区别及负载均衡算法 LVS简介 LVS&#xff08;Linux Virtual Server&#xff09;即Linux虚拟服务器&#xff0c;是一个虚拟的服务器集群系统&#xff0c;由章文嵩博士在1998年5月成立&#xff0c;在linux2.6后将lvs自动加入了kernel模块&#xff0c;我们…

POJ3696-The Luckiest number【数论,欧拉定理】

正题 题目链接:http://poj.org/problem?id3696 题目大意 求多少个8连在一起是LL的倍数。解题思路将x个8连在一起分解一下 10x&#x2212;19" role="presentation">10x−1910x−19 那么就是 L|2∗(10x−1)9L|2∗(10x−1)9dgcd(L,8)dgcd(L,8)分解一下 9…

王者荣耀是怎样炼成的(一)《王者荣耀》用什么开发,游戏入门,unity3D介绍

在国内&#xff0c;如果你没有听说过《王者荣耀》&#xff0c;那你一定是古董级的人物了。 《王者荣耀》&#xff08;以下简称“农药”&#xff09;&#xff0c;专注于移动端&#xff08;Android、IOS&#xff09;的MOBA游戏。笔者看到这么火爆&#xff0c;就萌生了了解一下这类…

Java数组,字符串

数组定义 数据类型 名称[] new 数据类型[n] int data[] new int[3];data[0] 10;data[1] 11;data[2] 25;一步定义数组&#xff0c;并循环输出 int data[] new int[] {1,2,3,4};for (int i : data) {System.out.println(i);}字符串数组定义&#xff0c;并循环 String d…