相邻素数对(质数筛选)

相邻素数算法详细pdf文档 相邻素数算法是算法设计与分析的课程里其中一个较为重要的算法 立即下载

请你求出区间 [l,r] 上距离最近的相邻的素数对和距离最远的相邻的素数对。2,3 是相邻的素数,2,5 不是相邻的素数。距离定义为 2 个素数的差的绝对值。比如 2,3 距离为 1。


输入格式


输入 2 个整数 l,r(1≤l≤r≤9000000)



输出格式


如果 a, b(a < b)是距离最近的素数对,c,d(c < d)是距离最远的素数对,按照如下格式输出

a,b are closest, c,d are most distant.

如果最近或者最远有多对,输出 a 和 c 最小的。如果没有相邻是素数对,输出

There are no adjacent primes.


样例输入1


3 10


样例输出1


3,5 are closest, 3,5 are most distant.


样例输入2

14 17


样例输出2

There are no adjacent primes.


#include <iostream>
#include <cstdio>
using namespace std;

int a[8000005];

int main(){
    for(int i = 0;i < 8000005;i ++){
        a[i] = 1;
    }
    int l,r;

    cin>>l>>r;
    if(l == 1){//1不为质数
        l = 2;
    }
    for(int i = 2;i*i<=r;i ++){//质数筛选
        if(a[i]){
            for(int j = i * i;j <= r;j += i){
                a[j] = 0;
            }
        }
    }

    int flag = 0;//第一次判断时使用.

    int maxx = 0,minn = 0;
    int tempmaxx = 0,tempminn = 0;
    int maxpointx = 0,maxpointy = 0;
    int minpointx = 0,minpointy = 0;
    int temp = 0;
    for(int i = l;i <= r;i ++){
        while(!a[i]&&i<r){
            i ++;
        }
        if(a[i] == 1&&i <= r)
        tempminn = i;
        i++;
        while(!a[i]&&i<r){
            i++;
        }
        if(a[i] == 1&&i <= r)
        tempmaxx = i;

       // cout<<tempminn<<" "<<tempmaxx<<endl;
        if(tempmaxx - tempminn > maxx||!flag){
            flag = 1;
            maxx = tempmaxx - tempminn;
            maxpointx = tempminn;
            maxpointy = tempmaxx;
        }

        if((tempmaxx - tempminn < minn&&tempmaxx - tempminn > 0)||!flag||minn == 0){//需要判断 minn = 0的时候情况
            flag = 1;
            minn = tempmaxx - tempminn;
            minpointx = tempminn;
            minpointy = tempmaxx;
        }
        i --;//要考虑本次的第二个数和下一次第一个数的关系,将其作为第一个数
    }

    if(!minn||!maxx||minpointx == 0||minpointy == 0||maxpointx ==0||maxpointy == 0){
        cout<<"There are no adjacent primes."<<endl;
    }else{
        cout<<minpointx<<","<<minpointy<<" are closest, "<<maxpointx<<","<<maxpointy<<" are most distant."<<endl;
    }

    return 0;
}





ESP32-S3 USB下载模式深度解析:从UART0到TinyUSB的硬件设计与避坑指南 本文深度解析ESP32-S3的三种USB下载模式:UART0、Hardware CDC和基于TinyUSB的USB-OTG CDC。详细探讨各模式的硬件设计要点、电平异常问题、eFuse配置及避坑指南,帮助开发者优化设计,提升量产效率和系统稳定性。 阅读详情

相关推荐

AI 编程助手新玩法:用 Claude Code 一键调用国产大模型(DeepSeek/Kimi/GLM 对比)

本文深入评测了Claude Code与三大国产大模型(DeepSeek、Kimi、智谱GLM)的集成效果,详细对比了它们在代码生成质量、响应速度和特殊场景支持度等方面的差异。通过实测数据和实战技巧,帮助开发者选择最适合的AI编程助手组合,提升开发效率。

weixin_30955617的博客 487

相邻的素数

问题 G: 相邻的素数 问题 G: 相邻的素数时间限制: 1 Sec  内存限制: 128 MB提交: 2031  解决: 106[提交][状态]题目描述任何大于1的自然数(即正整数),除了1与它自身外,再没有其它的正约数了,这样的自然数叫做质数或素数。现在,需要你来设计一个类Compute,有两个int类型的属性m和n,定义: (1)构造函数Comput...

苏木的博客 2735

Oracle EBS R12.2 安装 -- Step by Step

Oracle EBS R12.2 安装 -- Step by Step

Albert Tan DBA之路 1512

相邻的素数python

#输入一个大于2的素数。输出与这个素数相邻的2个素数 import math def f(x)://判断是否是素数 n=1 if x==2: return True for i in range(2,x): if x%i==0: n=0 if n==1: return True else: return False str=input()//输入一个数 while str!="":

ifylm的博客 1209

告别信息过载:我是如何用Feedly RSS阅读器打造个人专属信息流的(附Chrome插件使用技巧)

本文分享了如何利用Feedly RSS阅读器有效管理信息过载,打造个人专属信息流的方法。通过科学组织订阅源、智能过滤和跨平台同步技巧,帮助用户从被动接收转为主动筛选,提升信息获取效率。特别推荐使用Feedly的Chrome插件和AI过滤功能,实现高效的信息管理。

weixin_42526015的博客 357

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库)

sysrepo 开发者指南(一个基于libyang与支持rpc的数据库) 日志记录 默认情况下,所有 Sysrepo 日志记录都处于关闭状态。如果启用,日志消息有 3 种输出。它们可以写入stderr、由 处理syslog或简单地传递给回调。 请务必注意,启用 Sysrepo 日志记录也会修改libyang日志记录设置。错误消息被视为标准 Sysrepo 错误,其他严重性较低的消息完全隐藏。要更改此行为,只需在启用 Sysrepo 日志记录后调整libyang日志记录设置。 此外,几乎每个 Sysrepo

weixin_43489394的博客 9228

ACM_求相邻最小素数

Describtion 胖胖斌的数学不太好,这天数学老师要让他在L和U(1&amp;lt;=L&amp;lt;U&amp;lt;=2147483647)之间 找出两个相邻素数C1和C2(L&amp;lt;=C1&amp;lt;C2&amp;lt;=U)使他们距离最小。 如果有多对答案,输出第一种即可。聪明的你可以帮他解答吗? Input 每行输入两个正整数,即L和U,L&amp;lt;U。L和U的差不超过1000000。有多组输入数据 Ou

lance~crazy 692

Python爬虫实战:如何爬取京东商品评论数据

在本文中,我们介绍了如何使用 Python 爬虫技术爬取京东商品的评论数据。首先,我们分析了京东商品评论的 API 接口和 JSON 数据结构,然后编写了爬虫程序来抓取评论数据,并将数据保存到 CSV 文件中。接着,我们进行了一些基本的数据分析,包括评分分布和简单的情感分析。爬取京东商品评论的数据可以为电商分析、情感分析等提供有价值的信息。你可以在此基础上进行更深入的分析,挖掘更多的商业价值。希望本篇教程能够帮助你了解如何利用 Python 进行电商数据的爬取和分析!

2201_76125261的博客 1647

找最近的素数

描述 走进世博园某信息通信馆,参观者将获得前所未有的尖端互动体验,一场充满创想和喜悦的信息通信互动体验秀将以全新形式呈现,从观众踏入展馆的第一步起,就将与手持终端密不可分,人类未来梦想的惊喜从参观者的掌上展开。 在等候区的梦想花园中,参观者便开始了他们奇妙的体验之旅,等待中的游客可利用手机等终端参与互动小游戏,与梦想剧场内的虚拟人物Kr. Kong 进行猜数比赛。当屏幕出现一个整数X时

foreverhuylee的专栏 2875

PX4实战(十):PX4导航模块(Navigator)详解

本文将对 PX4 固件 v1.14.3 版本中的 Navigator(导航)模块进行详尽的技术剖析。作为飞行控制栈中的高层决策核心,Navigator 模块承担着将抽象的任务指令转化为具象的底层控制设定点的关键职责。本文基于对 src/modules/navigator 目录下源代码的深究研究与架构反推,详细阐述了该模块的文件组织结构、基于状态机的控制逻辑、uORB 异步通讯机制、核心任务模式(Mission)与返航模式(RTL)的实现细节,以及地理围栏(Geofence)与任务可行性检查(Feasibil

PX4-SLAM-PNC 669

Python爬虫实战:全面解析裁判文书网法律文书抓取与分析

本文详细介绍了如何使用Python爬虫技术,分别通过Requests+BeautifulSoup、Selenium和Scrapy等方式,爬取裁判文书网的法律文书信息,并进行了验证码处理、数据存储和可视化分析。网页结构分析与数据提取;爬虫框架的使用;验证码处理策略;数据分析与可视化。爬取更多法律文书网站的数据;爬取文书的全文内容;构建法律文书搜索引擎;使用自然语言处理技术对法律文书进行深入分析。

2201_76125261的博客 1332

相邻素数的差最大是多少c语言,怎么证明?相邻两个素数之差的最大值

该楼层疑似违规已被系统折叠隐藏此楼查看此楼ε ± ∽ ∝ ≠ ∞ ∑ ∏ π √ ≥ → ∞ φ答邹连科先生之问相邻两个素数之差的最大值摘要:设偶数N>4。素数定理描述了区间(0,N)上,素数分布的平均间隔渐近于 N/lnN 。但是,区间(0,N)上,(1)两个相邻素数之差的最大值和最小值是多少?(2)是否存在关于 对称分布的素数?仍无定论。本文对如何确定两个相邻素数之差的最大值问题,予以...

weixin_32822089的博客 1651

微信小程序 - [wxapplib]] backgroundfetch privacy fail {“errno”:101,“errMsg”:“private_getBackgroundFetchDa

微信小程序报错之backgroundfetch privacy fail,微信小程序报错WAServiceMainContext.js:1 [wxapplib]] backgroundfetch privacy fail {“errno“:101,怎么解决?问题出现:调用wx.chooseMessageFile报错(开发者工具中正常)用户隐私协议中未声明小程序使用此功能,安卓真机调试报错:backgroundfetch privacy fail ,怎么解决?微信小程序[wxapplib]] backgrou

🏆 前端领域优质创作者 1万+

质数距离【素数筛】

题目: 给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。 同时,你还需要找到距离最远的两个相邻质数D1和D2(即D1-D2是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。 输入格式 每行输入两个整数L和U,其中L和U的差值不会超过1000000。 输出格式 对于每个...

哇哈哈哈的博客 577

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Ybtoj 第28章例2】质数距离【质数和约数】

解题思路 首先我们发现:R−LR-LR−L 的范围很小,我们应该要能够快速求出 L∼RL∼RL∼R 之间的质数。 显然有推论:任意一个合数 x 必定包含一个不超过 x\sqrt xx​的质因子。 所以我们可以筛出 [1,R][1,\sqrt R][1,R​] 之间的所有质数,对于每个质数 pp,把 [L,R][L,R][L,R]中能被 ppp 整除的数标记为合数。最终没有被标记的数就是质数,对相邻的质数两两比较,找出差值最小和最大的即可。 代码 #include<iostream> #i...

在人间贩卖声音 241

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

PTA1007 素数对猜想

让我们定义d​n为:dn=pn+1−p​n,其中pi是第i个素数。显然有d1=1,且对于n>1有d​n​​ 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(<10^5 ),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 输出格式: 在一行中输出不超过N的满足猜想的素数对的个数。 输入样例: 20 输出样例: 4 解析: 1.如何得到素数 > 对依次所得数字进行判断 > bool isnum(int n) &g

weixin_44916213的博客 213

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

“质数距离”【题解】

质数距离(Liuser’s OJ) 题目 题目描述 给定两个整数L,R,求闭区间【L,R】中相邻两个质数差值最小的数对与差值最大的数对。当存在多个时,输出靠前的素数对。 输入格式 多组数据。每行两个数L,R。 输出格式 对于每个L和R ,输出一个结果,结果占一行。 结果包括距离最近的相邻质数对和距离最远的相邻质数对。(详见样例1输出) 如果L和U之间不存在质数对,则输出“There are no adjacent primes.”。 样例 样例1输入 2 17 14 17 样例1输出 2,3 are cl

cqbzybc20220707的博客 1631

Poj2689筛素数

Poj2689筛素数 题目大意: 给定一个区间l,r,求这个区间内相邻的质数中最近的两个和最远的两个.区间范围是1-2^31,区间的长度最多是10^6. 思路: 刚开始对筛选法的理解不深,不知道如何筛选任意一段区间的素数,看了题解恍然大悟,原来用的筛选法总是筛选从1-n的素数,对于为何这样筛选理解不深刻.说下1-n的筛选法,就是用一个数组...

weixin_30905133的博客 118

nyoj 24 素数距离问题

#include #include int ss(int n) { int i; if(n==1||n==0) return 0; for(i=2;i<=sqrt(n);i++)//用这种方法节省时间 if(n%i==0) return 0; return 1; } int main() { int m,n,i; scanf("%d",&m);

wangli2029的博客 328

Prime Distance(素数区间筛选)

Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11232   Accepted: 3018 Description The branch of mathematics called number theory is about propertie...

Simone chou... 174

codeup23025_素数环

codeup23025_素数环 时空限制    1000ms/128MB 题目描述 一个大小为N(N&lt;=17)的质数环是由1到N共N个自然数组成的一个数环,数环上每两个相邻的数字之和为质数。如下图是一个大小为6的质数环。为了方便描述,规定数环上的第一个数字总是1。如下图可用1 4 3 2 5 6来描述。若两个质数环,数字排列顺序相同则视为本质相同。现在要求你求出所有本质不同的数环。 ...

H优快云 415

浙江大学PAT (Basic Level) Practice (中文)1007素数对猜想JAVA实现代码及分析

1007 素数对猜想 让我们定义d​n​​为:d​n​​=p​n+1​​−p​n​​,其中p​i​​是第i个素数。显然有d​1​​=1,且对于n&amp;gt;1有d​n​​是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。 现给定任意正整数N(&amp;lt;10​5​​),请计算不超过N的满足猜想的素数对的个数。 输入格式: 输入在一行给出正整数N。 输出格式: 在一行中输出不超过N的满足猜想的素...

yingYing_monster的博客 321

c语言 快速筛质数,快速筛素数(埃式筛+线性筛+Miller_Rabin算法)

在CF上做到一道核心是需要筛出1~n所有素数的题目,然后刚好又没学过,就学习了快速筛素数的办法,基础的n根号n的算法这里大家每个人都知道吧QAQ,就不讲了,好像还是C语言上机说过的题目。首先给大家介绍一下一个比较简单的判断素数的方法:利用性质:大于等于5的质数一定和6的倍数相邻。bool isPrime(int num){/*不在6的倍数两侧的一定不是质数*/if(num==1)return 0;...

weixin_28733651的博客 935

蓝书(算法竞赛进阶指南)刷题记录——POJ2689 Prime Distance(筛法)

题目:POJ2689. 题目大意:给定区间[L,R][L,R][L,R],要求区间中差最小的相邻素数和差最大的相邻素数. 这道题一看不可做,毕竟L,R&amp;amp;amp;amp;lt;231L,R&amp;amp;amp;amp;lt; 2^{31}L,R&amp;amp;amp;lt;231的数据范围太大,但是一看R−L≤106R-L\leq 10^6R−L≤106的限制就会想到一定是从区间[L,R][L,R][L,R]中的数入手. 想到尝试枚举区间[L,R]...

hzk_cpp的博客 326

poj 2689 Prime Distance(筛一个区间内的素数(或合数))

: 【题意说明】 给你指定的范围[L, U],在这个范围内找出相邻最近和最远的两组质数,若最近或最远值相同,输出较小的那组。其中:1≤L,另U-L≤1000000。 【问题分析】 此题与质数有关,显然若是能求出[L, U]之间的质数,然后从前往后扫描一遍即可出需要的结果,但问题是L与U的范围太大,是不可能在规定的时间内实现的。 但这里给我们提供了另一个条件:U-L≤10000

crazy__C的专栏 791

1007 素数对猜想 (20 分)

#include<iostream> #include<bits/stdc++.h> #include<algorithm> #include<string> using namespace std; //判断质数 bool prime(int x){ int y; for(y=2;y<=sqrt(x);y++) if(x%y==0) return false; return true; } int main(){ int n,cou.

... 396
上一篇: 2013第四届蓝桥杯C/C++ C组省赛题解 八题
下一篇: 二分快速幂
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值