POJ2689 Prime Distance

POJ2689 Prime Distance题解 POJ2689 Prime Distance题解题目题目描述英文题目中文题意输入输出格式输入格式输出格式输入输出样例输入样例输出样例题解 题目 题目描述 原题 英文题目 The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured t... 阅读详情

Prime Distance

Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 12562 Accepted: 3354
Description

The 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 (1<=L< U<=2,147,483,647), and you are to find the two adjacent primes C1 and C2 (L<=C1< C2<=U) 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 (L<=D1< D2<=U) where D1 and D2 are as distant from each other as possible (again choosing the first pair if there is a tie).
Input

Each 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.
Output

For 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 Input

2 17
14 17
Sample Output

2,3 are closest, 7,11 are most distant.
There are no adjacent primes.
Source

Waterloo local 1998.10.17

题意:求一个区间内两个相邻的素数之差最大的和最小的两个数。。

两次筛选,l,u的范围是2^31,他们两之差最大为1e6,对于所有合数,2^31里面肯定由2^16里的素数组成,所以先筛选出2^16里面的素数,然后将区间转化,                                a=(l-1)/prime[i]+1,b=u/prime[i],这个区间内的都是合数,然后标记就是,数组大小的话都减l就行,这个数组大小1e6.。。

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int MAXN=50010;
const int MAXM=1000010;
int prime[MAXN],vis[MAXN],isprime[MAXM],p;
void isp()
{
    memset(vis,0,sizeof(vis));
    int i,j,m=(int)sqrt(MAXN+0.5);
    p=0;
    for(i=2;i<=m;i++)
    {
        if(!vis[i])
        {
            for(j=i*i;j<MAXN;j+=i)
                vis[j]=1;
        }
    }
    for(i=2;i<MAXN;i++)
        if(!vis[i])
        prime[p++]=i;
}
int main()
{
    int l,u,i,j;
    isp();
    while(scanf("%d%d",&l,&u)==2)
    {
        if(l==1)
            l=2;
        memset(isprime,0,sizeof(isprime));
        for(i=0;i<p&&prime[i]*prime[i]<=u;i++)
        {
            int a=(l-1)/prime[i]+1;
            int b=u/prime[i];
            for(j=a;j<=b;j++)
                if(j>1)
                isprime[j*prime[i]-l]=1;
        }
        int mmax=-1,mmin=1<<30,temp=-1,x1,x2,y1,y2;
        for(i=0;i<=u-l;i++)
        {
            if(!isprime[i])
            {
                if(temp==-1)
                {
                    temp=i;
                    continue;
                }
                if(i-temp>mmax)
                {
                    mmax=i-temp;
                    x1=temp;
                    y1=i;
                }
                if(i-temp<mmin)
                {
                    mmin=i-temp;
                    x2=temp;
                    y2=i;
                }
                temp=i;
            }
        }
        if(mmax==-1)
            printf("There are no adjacent primes.\n");
        else
            printf("%d,%d are closest, %d,%d are most distant.\n",x2+l,y2+l,x1+l,y1+l);
    }
    return 0;
}


2018.09.01 poj2689 Prime Distance(埃式筛法) 传送门 一道挺有趣的。 第一眼以为每个数都用miller_rabin判一次,但感觉会被卡时间啊。 继续分析发现可以晒出sqrt(r)中的所有素数,然后用类似埃式筛法的方法晒出[l,r][l,r][l,r]之间的素数。 然后就没了。 代码: #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;cstring&gt; ... 阅读详情

相关推荐

POJ2689Prime Distance(素数筛)

可以先把根号n的所有质数筛出来,然后再用倍数筛去l和r区间的数。题目大意给出一个范围l,r,求范围内相邻差值最大最小的差值。

weixin_48024524的博客 277

poj 2689 Prime Distance 素数

题意:输入区间[l,u],其中l和u为int范围的整数,区间最大为1000000。求出[l,u]中,相邻素数只差最大和最小的素数对。当存在多个时,输出较小的素数对。 题解:l,u范围太大,不能直接求int范围的素数。而区间间隔比较小,只有1e6,而且对于int范围内的合数来说,最小质因子必定小于2^16。所以可以求出[l,u]中合数,转而求出素数,然后暴力枚举所有素数对即可。 如何求区间[l,

冷月之殇 5598

深交所 vs 上交所:Level-2实时数据推送规则详解与策略适配指南

本文深度解析沪深Level-2实时数据推送规则的关键差异,包括逐笔成交、逐笔委托和10档行情接口的处理逻辑。针对高频交易策略,详细对比上交所与深交所在数据推送机制、时间戳处理及委托队列解析等方面的差异,并提供具体的策略适配方案和性能优化建议,帮助量化投资者提升跨市场交易稳定性。

weixin_27310417的博客 1163

Prime Distance(质数距离)

算法竞赛进阶指南第四章例题

y_z_s_的博客 405

Modbus CRC和LRC算法研究及代码实现

一、CRC(循环冗余校验) 1 CRC16实现流程 XOR = 异或 N = 字节的信息位 POLY = CRC16 多项式计算 = 1010 0000 0000 0001 (生成多项式 = 1 + x2 + x15 + x16) 在CRC16中,发送的第一个字节位低字节 2 CRC16实例推导 3 CRC16代码实现 unsigned short CRC16(unsigned char *a...

Hi, Boy 2891

手把手教你用Silvaco Atlas复现GaN蓝光LED仿真:从网格划分到光谱分析全流程避坑

本文详细介绍了如何使用Silvaco Atlas进行GaN蓝光LED仿真,从网格划分到光谱分析的全流程避坑指南。重点讲解了网格划分技巧、材料参数设置、极化效应处理以及结果分析方法,帮助用户快速掌握半导体器件仿真技术,提升研发效率。

weixin_42552716的博客 223

基础数论(Prime Distance)(素数筛+离散化+合数性质)

Prime Distance 被称为数论的数学分支是关于数的性质的。数理论家几千年来一直感兴趣的领域之一是素数问题。素数是一个没有适当因子的数(它只能被1和它本身整除)。第一个素数是2,3,5,7,但是它们很快就变得不那么频繁了。其中一个有趣的问题是它们在不同的范围内有多密集。相邻素数是两个都是素数的数,但相邻素数之间没有其他素数。例如,2,3是唯一的相邻素数也是相邻的数。 你的程序有两个数字:L和U(1<=L < U<=2147483647),你要找到最接近的两个相邻素数C1和C2(L&

weixin_51979465的博客 550

YOLOv11改进策略【卷积层】| CVPR-2024 PKI Module 获取多尺度纹理特征,适应尺度变化大的目标

PKI Module是。

Limiiiing的博客 2705

Prime Distance(质数距离)

Description The 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 n

qq_45371462的博客 816

AI颠覆市场调研:生成式智能体如何重构商业决策?

AI正在将市场调研从"成本中心"转变为"战略武器"。当企业能够用生成式智能体实时模拟百万级虚拟用户时,传统调研的样本偏差、时间滞后、成本高昂等问题将不复存在。对于开发者而言,这不仅是技术的狂欢,更是参与商业规则重构的历史机遇。行动建议立即体验Simile/Aaru的智能体平台,验证虚拟样本效果参与LLM持续性记忆架构的开源项目(如Memory Llama)关注AI调研API的标准化进程(如Hugging Face的Market Research Toolkit)

这里汇聚了前沿的技术分享与实用的开发技巧,带你探索从创意到企业的技术创业之路。 614

Apollo EM Planner中路径-速度解耦优化的数学建模与仿真分析

摘要 Apollo EM Planner采用路径-速度解耦优化策略解决自动驾驶运动规划问题。该算法将时空轨迹规划分解为路径规划和速度规划两个子问题:首先在静态环境下生成几何最优路径,再优化沿路径的速度曲线。通过五次多项式表示路径和速度,构建包含平滑性、安全性、舒适性的多目标优化函数,并引入弹性模型处理动态障碍物约束。算法具有解耦优化、弹性适应、实时求解等特点,适用于高速公路、城市交叉口等多种场景。数学建模包括路径几何优化、速度动态优化和弹性势能函数,最终生成满足车辆动力学和环境约束的安全轨迹。

走向CTO的路上... 933

Prime Distance(求区间素数)

传送门 这道题,其实思路很简单,但是。。坑是很多的 思路 我们发现L,R很大,但是区间只有1e6。 我们知道,R必定包含一个不超过根号R的质因子,所以只需要用筛法求出2~根号R的所有质数,对于每个质数p,把[L,R]中能被p整除的数标记,即标记i*p为合数,最终[L,R]中没被标记的就是质数,一个一个挨着比较就好 #include <cstdio> #...

weixin_30435261的博客 175

遇到问题--OpenClaw--API rate limit reached. Please try again later429 您的账户已达到速率限制,请您控制请求频率

OpenClaw调用glm-4.7-flash模型时触发智谱AI平台429速率限制错误。分析发现当前重试策略采用固定间隔(7-11秒)导致连续失败,且未记录关键响应头信息。解决方案分三步:1)开启响应头日志获取配额详情;2)将重试策略改为带抖动的指数退避(初始1秒,最大60秒);3)在网关层实现令牌桶限流主动控制请求频率。需特别注意令牌配额(TPM)可能比请求次数(RPM)更早触达限制。

直到世界的尽头 2611

poj 2689 Prime Distance 筛法+区间筛素数

The 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 fac

klc的博客 554

【R语言】基于Biomod2集成平台探究物种分布区的构建流程(SDMs)

我为什么想要写这个内容呢?其实我已经想了很久了,但是一直没有把所有的代码给理清楚,此外这将是我之后研究的主要方向。本博客讲述了如何基于Biomod2集成平台构建物种分布模型的全流程,以及我在使用该模型时的一些心得,同时还有我提供的一些小福利(一键处理代码),可以十分快捷的帮助你完成SDMs的构建,写出你的中英文论文。

amyniez的博客,欢迎交流讨论 3889

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

【POJ 2689】Prime Distance(素数筛法)

题目链接 【POJ 2689】Prime Distance 题解 题目的关键在于如何求出lll到rrr之间所有的素数。 性质:如果一个数nnn是合数,则它一定有一个≤n‾√≤n\le \sqrt n的素因子。 思路:先筛出222到r√r\sqrt r的所有素数pipip_i,在一一标记lll到rrr中所有pipip_i的倍数。 时间复杂度 O(q∑素数p≤r√r−lp)O(q∑素...

Galaxy Coder 的博客 573

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

POJ-2689-Prime Distance

ACM模版题目链接POJ 2689 Prime Distance题解素数排查问题,问题的关键在于如何找出给定区间中的所有素数,涉及到一个预处理。代码#include <iostream>using namespace std;const int MAXN = 100010; int prime[MAXN + 1];// 预处理 void getPrime() { memset(prime,

逐梦者 939

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

POJ 2689 Prime Distance (经典素数筛选)

转载请注明出处,谢谢 http://blog.youkuaiyun.com/ACM_cxlove?viewmode=contents           by---cxlove POJ 2689 Prime Distance  http://poj.org/problem?id=2689 区间范围很大,2^31左右,不可能筛选出所有素数,时间和空间都不允许。 但是可以发现询问的区间不是很大

窝不是爱酱,喵~~~~ 1666

POJ2689 Prime Distance

筛法

forezxl的博客 702

POJ 2689 Prime Distance

题目链接:http://poj.org/problem?id=2689 一道看起来很简单的题目,就因为没考虑边界的特殊情况,真的是把我坑死了。 首先我们在考虑的时候如果L为1的话,那么我们应该把L+1,因为这个都要WA哭了,因为我们预处理的质数

RaAlGhul的博客 497

POJ 2689 Prime Distance 素数筛选法应用

题目来源:POJ 2689 Prime Distance 题意:给出一个区间L R 区间内的距离最远和最近的2个素数 并且是相邻的 R-L 思路:一般素数筛选法是拿一个素数 然后它的2倍3倍4倍...都不是 然后这题可以直接从2的L/2倍开始它的L/2+1倍L/2+2倍...都不是素数 首先筛选出一些素数 然后在以这些素数为基础 在L-R上在筛一次因为 R-L #include #i

嗯。 980

POJ 2689 Prime Distance

素数的二次筛选。 素数的筛选,数据比较大,不能用常用的方法。因为最大数据是20亿,开根号后就为50000左右,把5万以下的素数表打出,再二次筛选就可以了。 开始的时候把函数写在外面超时,写进去以后就0ms过,这个想不通。。。 AC代码: #include #include #include #include #include using namespace std; int q[6

llbcys 840

Prime Distance[POJ2689]

欢迎大家访问我的老师的OJ———caioj.cn 题面描述 传送门 POJ传送门(数据更强) 思路 L,R⁡\operatorname{L,R}L,R范围很大,所以直接线性筛是过不了的。 但是L-R⁡\operatorname{L-R}L-R的范围只有10610^6106, 对于[L,R]⁡\operatorname{[L,R]}[L,R]区间内的任意合数nnn,一定存在小于n\sqrt{n}n​...

lb2003 185
上一篇: HDU4342 History repeat itself
下一篇: HDU4993 Revenge of ex-Euclid
eeeaaaaa
博客等级 码龄12年 2粉丝 155原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值