给出一个闭区间的两端l和r,输出[l,r]中素数的个数。
输入格式:
两个整数l和r,之间用空格隔开(1<l<=r<=10000)。
输出格式:
输出一个结果。
输入样例:
2 10
输出样例:
4
import java.util.Scanner;
public class Main {
static final int N = 10005
;
static int m,n;
static int[] prime =
new int[N];
static boolean[] check =
new boolean[N];
static void init(){
int temp;
check[1]=
true;
for(
int i=2;i<=n;++
i){
if(!
check[i])
prime[++prime[0]]=
i;
for(
int j=1;j<=prime[0];++
j){
temp=i*
prime[j];
if(temp>
n)
break;
check[temp]=
true;
if(i%prime[j]==0
)
break;
}
}
}
public static void main(String[] args){
Scanner scanner =
new Scanner(System.in);
m=
scanner.nextInt();
n=
scanner.nextInt();
init();
int count=0
;
for(
int i=m;i<=n;++
i){
if(!
check[i])
count++
;
}
System.out.println(count);
}
}
转载于:https://www.cnblogs.com/Tomorrow-will-be-better/p/11121572.html
相关资源:快速筛选区间内的素数