区间素数筛法

发布时间:2026/7/28 13:57:44

区间素数筛法
本文参考于https://www.cnblogs.com/nowandforever/p/4515612.html类似问法给定整数a和b请问区间[a,b)内有多少素数a b 1012b - a 106因为b以内的合数的最小质因数一定不是超过sqrt(b)如果有sqrt(b)以内的素数表的话就可以把筛选法用在[a,b)上了先分别做好[2,sqrt(b))的表和[a,b)的表然后从[2,sqrt(b))的表中筛得素数的同时也将其倍数从[a,b)的表中划去最后剩下的就是区间[a,b)内的素数了。有的时候需要求出某个特定区间的素数但是数可能很大数组也要开不小所以需要进行下标转移这样才可以使用筛选法。#definell long longconstintmaxn1000010;boolpri[maxn],prii[maxn];ll prime[maxn];intcnt;//区间[a,b)内的整数筛法prii[i-a]true---代表i是素数注意这里下标偏移了a,所以从0开始//求解[a,b]内就把 全改为 voidseg_pri(ll a,ll b){cnt0;memset(pri,false,sizeof(pri));for(ll i0;i*ib;i)prii[i]true;//对[2,sqrt(b))的初始化全为素数for(ll i0;ib-a;i)pri[i]true;//求下表偏移后的[a,b)进行初始化for(ll i2;i*ib;i){if(prii[i]){for(ll j2*i;j*jb;ji)prii[j]false;//筛选[2,sqrt(b))//(ai-1)/i得到最接近a的i的倍数最低是i的2倍然后筛选for(ll jmax(2ll,(ai-1)/i)*i;jb;ji)pri[j-a]false;}}for(ll i0;ib-a;i){//统计去1if(pri[i]ia1)prime[cnt]ia;}/*for(int i0;icnt;i) coutprime[i]endl; coutcntendl;*/}传送门POJ 2689 Prime Distancehttp://poj.org/problem?id2689DescriptionThe branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians for thousands of years is the question of primality. A prime number is a number that is has no proper factors (it is only evenly divisible by 1 and itself). The first prime numbers are 2,3,5,7 but they quickly become less frequent. One of the interesting questions is how dense they are in various ranges. Adjacent primes are two numbers that are both primes, but there are no other prime numbers between the adjacent primes. For example, 2,3 are the only adjacent primes that are also adjacent numbers.Your program is given 2 numbers: L and U (1L U2,147,483,647), and you are to find the two adjacent primes C1 and C2 (LC1 C2U) that are closest (i.e. C2-C1 is the minimum). If there are other pairs that are the same distance apart, use the first pair. You are also to find the two adjacent primes D1 and D2 (LD1 D2U) where D1 and D2 are as distant from each other as possible (again choosing the first pair if there is a tie).InputEach line of input will contain two positive integers, L and U, with L U. The difference between L and U will not exceed 1,000,000.OutputFor each L and U, the output will either be the statement that there are no adjacent primes (because there are less than two primes between the two given numbers) or a line giving the two pairs of adjacent primes.Sample Input2 1714 17Sample Output2,3 are closest, 7,11 are most distant.There are no adjacent primes.题意输入整数LU(1L U2,147,483,647)在[L,U]区间内找相邻素数之差最小的素数对最大的素数对并输出相同者取第一组如果区间内素数个数 2 输出 There are no adjacent primes.思路先区间筛得到素数表在跑一边素数表找就可以了#includecstdio#includeiostream#includecmath#includealgorithm#includecstring#includecstdlib#includecctype#includevector#includestack#includequeue#includectime#definell long long#defineld long double#defineull unsigned long longusingnamespacestd;constintmaxn1000010;constintinf0x3f3f3f3f3f;constll lnf0x3f3f3f3f3f3f3f;boolpri[maxn],prii[maxn];ll prime[maxn],n,m;intcnt;voidseg_pri(ll a,ll b){cnt0;memset(pri,false,sizeof(pri));for(ll i0;i*ib;i)prii[i]true;for(ll i0;ib-a;i)pri[i]true;for(ll i2;i*ib;i){if(prii[i]){for(ll j2*i;j*jb;ji)prii[j]false;//用 ll , 不然 REfor(ll jmax(2ll,(ai-1)/i)*i;jb;ji)pri[j-a]false;}}for(ll i0;ib-a;i){if(pri[i]ia1)prime[cnt]ia;//注意去1}}intmain(void){ll mi,mil,mir;ll ma,mal,mar;while(~scanf(%lld%lld,n,m)){seg_pri(n,m);milnf,ma0;if(cnt2){puts(There are no adjacent primes.);continue;}for(inti1;icnt;i){ll dprime[i]-prime[i-1];if(dmi){mid;milprime[i-1];mirprime[i];}if(dma){mad;malprime[i-1];marprime[i];}}printf(%lld,%lld are closest, ,mil,mir);printf(%lld,%lld are most distant.\n,mal,mar);}return0;}

相关新闻

2025学术论文降重五大方案与实操要点

2025学术论文降重五大方案与实操要点

2026/7/28 13:57:44

1. 项目概述:学术写作降重需求背景 学术论文、研究报告的重复率问题一直是困扰研究者们的痛点。无论是高校毕业论文查重,还是期刊投稿的原创性审核,过高的重复率轻则影响评审印象,重则直接导致学术不端认定。根据主流查重系统的运…

泰拉瑞亚地图编辑器TEdit:像素世界终极创作指南

泰拉瑞亚地图编辑器TEdit:像素世界终极创作指南

2026/7/28 13:57:44

泰拉瑞亚地图编辑器TEdit:像素世界终极创作指南 【免费下载链接】Terraria-Map-Editor TEdit - Terraria Map Editor - TEdit is a stand alone, open source map editor for Terraria. It lets you edit maps just like (almost) paint! It also lets you change w…

物联网设备安全芯片SE050与PIC18F85J50的硬件级防护方案

物联网设备安全芯片SE050与PIC18F85J50的硬件级防护方案

2026/7/28 13:57:44

1. 为什么物联网设备需要专用安全芯片?在当今的物联网生态中,安全性已成为设备设计的首要考量。传统MCU(如PIC18F85J50)虽然能完成基础的数据采集和控制功能,但在面对日益复杂的网络攻击时往往力不从心。去年某知名智能…

基于Arduino Nano与步进电机的自平衡机器人:PID控制与传感器融合实战

基于Arduino Nano与步进电机的自平衡机器人:PID控制与传感器融合实战

2026/7/28 15:17:47

1. 项目概述:为什么选择Arduino Nano和步进电机?做自平衡机器人,听起来像是实验室里的高级玩具,但当你真正动手把它从一堆零件变成能稳稳立在地上的“不倒翁”时,那种成就感是完全不同的。这个项目本质上是一个经典的“…

2026年AI论文写作工具全攻略:提升继续教育学习效率

2026年AI论文写作工具全攻略:提升继续教育学习效率

2026/7/28 15:17:47

1. 为什么继续教育学生需要AI论文写作工具?继续教育学生群体往往面临工作、家庭与学业的"三座大山"。根据2025年教育统计数据显示,超过78%的继续教育学生在撰写学术论文时存在时间管理困难。这类学习者通常具有三个典型特征:碎片化…

IPBan安全防护指南:跨平台服务器入侵防御系统深度解析

IPBan安全防护指南:跨平台服务器入侵防御系统深度解析

2026/7/28 15:17:47

IPBan安全防护指南:跨平台服务器入侵防御系统深度解析 【免费下载链接】IPBan Since 2011, IPBan is the worlds most trusted, free security software to block hackers and botnets. With both Windows and Linux support, IPBan has your dedicated or cloud se…

降重工具怎么用才省事?操作维度排一排

降重工具怎么用才省事?操作维度排一排

2026/7/28 15:17:47

降重工具怎么用才省事?操作维度排一排 你是不是也这样,论文写完人已经耗得差不多了,一查重红得吓人,再一查 AI 率又超标,这时候你根本没力气去研究一个复杂的工具怎么操作。你想要的很简单:把稿子丢进去&a…

学生党降重工具怎么挑?按预算和效果排一排

学生党降重工具怎么挑?按预算和效果排一排

2026/7/28 15:17:47

学生党降重工具怎么挑?按预算和效果排一排 你是学生党,兜里就那点生活费,论文却卡在重复率和 AI 率两条线上过不去。你现在最纠结的其实不是"哪个工具最贵最好",而是"我这点预算,怎么挑一个既便宜又真…

3分钟魔法:用XUnity.AutoTranslator让任何Unity游戏说你的语言

3分钟魔法:用XUnity.AutoTranslator让任何Unity游戏说你的语言

2026/7/28 15:07:47

3分钟魔法:用XUnity.AutoTranslator让任何Unity游戏说你的语言 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想象一下,你正沉浸在精彩的日式RPG世界中,但屏幕上的文字…

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

[具身智能-649]:个人电脑搭建 RTSP 服务完整方案(Windows / Ubuntu 双平台,适配 RDK X5 rtsp2display 调试)

2026/7/28 13:30:18

目标:电脑作为RTSP 服务端,循环推送 H264/H265 视频流; RDK X5 通过 rtsp2display 拉流预览,完全不需要在开发板编译 live555。 提供两套成熟方案: ✅ 方案 A:FFmpeg(最简单,优先推…

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

PDF合并与动态水印的工程化方案:2026国内免费工具实测对比

2026/7/27 8:42:17

一、背景与测试方案 在实际项目交付中,PDF文件合并与版权保护水印的叠加是一个高频但容易被低估的技术需求。典型的处理链路涉及:多源PDF的文件流合并、页面级水印渲染(含透明度混合与图层叠加)、输出文件体积控制。看似简单的操作…

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

PDF拆分压完图糊了?2026国内免费实测,档案员都在用的组合方案

2026/7/27 14:56:57

说实话,提到PDF拆分再压缩,我真是被折腾得够呛。 上个月公司年度合同归档,一份300多页的PDF总合同,需要按年份拆分成三个独立文件,再分别压缩到10MB以内方便邮件发送各部门确认。我心想这还不简单?先找个海…

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

零基础搭建桌面智能体,OpenClaw 2.7.9 分步实操,避开绝大多数部署陷阱

2026/7/28 0:06:55

📌 一、工具核心优势盘点 数据本地存储,安全系数高所有操作日志、文档资料均保存在本机,不会上传至云端,能够有效保护企业文件与个人隐私,规避数据泄露风险。 上手简单,零编程门槛采用全图形化可视化界面&…

计算机毕业设计之基于springboot的购物平台设计与实现

计算机毕业设计之基于springboot的购物平台设计与实现

2026/7/28 0:06:55

由于移动应用技术的持续性的快速发展,现实生活中人们大多数都是通过移动手机、电脑等智能设备来完成生活中的事务。因此,许多的人工传统行业也开始与互联网结合,不再一味的依靠人工手动,努力打造半自动数字化甚至是全自动数字化模…

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

豆包AI绘图提示词失效真相:NLP模型层token截断机制首次披露,3招绕过字数限制

2026/7/28 0:06:55

更多请点击: https://codechina.net 第一章:豆包AI绘图提示词失效现象全景扫描 近期大量用户反馈,豆包(Doubao)AI绘图功能对常规提示词(Prompt)响应异常:语义明确的指令被忽略、中英…