文章
27
粉丝
492
获赞
10
访问
268.9k
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
int a=sc.nextInt();
int b=sc.nextInt();
int count=0;
boolean flag[]=new boolean[b+1]; //记录数的状态,默认都是素数
for(int i=2;i<=b;i++) { //这里可以优化成Math.sqrt(b)
if(flag[i]==false) { //是素数
for(int j=i+i;j<=b;j+=i) { //素数的倍数都不是素数
flag[j]=true; //不是素数
}
}
}
for(int i=a;i<=b;i++) {
if(a==1)
flag[1]=false; //1是素数
if(flag[i]==true) { //不是素数
count++;
}
}
System.out.println(count);
}
}
}
登录后发布评论
暂无评论,来抢沙发