问题标题: 酷町堂:大佬们帮忙看到题

0
0
已解决
赵近其
赵近其
中级天翼
中级天翼

非题库题目

题面:

给定区间 [𝐿,𝑅][L,R](1≤𝐿≤𝑅<2311≤L≤R<231,𝑅−𝐿≤106R−L≤106),请计算区间中素数的个数。

输入:

第一行,两个正整数 𝐿L 和 𝑅R。

输出:

一行,一个整数,表示区间中素数的个数。

输入样例:

2 11

输出样例:

5

求解法

@包涵宇 @陈俊霖 

打扰了,两位神帮我看看吧

赵近其在2025-07-30 20:22:09追加了内容

所有的“L”和“R”都打了两遍,不好意思,能看就行

赵近其在2025-07-30 20:22:56追加了内容

还有,L和R都小于(不含等号)2^31

赵近其在2025-07-30 20:23:41追加了内容

R-L<=10^6


0
已采纳
包涵宇
包涵宇
中级天翼
中级天翼

有人问过我,那我就复制粘贴一下吧(

可以思考一下如何用试除法判断质数,对于一个数x,只要看其能否被2~sqrt(x)整除,如果不能,就代表其是质数。于是我们仿照埃氏筛,以2~sqrt(n)为因数,标记所有在l~r范围内的数。注意要离散化,并且对于1要特判

这是超级简单的方法,代码400B

https://www.luogu.com.cn/paste/57khq2qo

 

0
0
彭志杰
彭志杰
中级天翼
中级天翼

https://oi-wiki.org//math/number-theory/sieve/

线性筛板吧

0
0
我要回答