什么式埃式筛选:简单来说 就是把素数的倍数筛选出去 比如2式素数 2的倍数都不是素数 2 4 6 8
或者 23=6 24=8 等等
直接去掉 这要就不用重复查找了
package suanfa.统计个数;
import java.util.Scanner;
public class erato {
//
public static int bf(){
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();
boolean[] isPrime=new boolean[num]; //false尾素数
int count=0;
for (int i=2;i<num;i++){
if (!isPrime[i]){ //这里进行判断 如果isPrime[i]为false !isPrime[i]为true 就执行下面的 否则执行else里面的
count++;
//判断是不是为非素数
for (int j=2*i;j<num;j+=i){//现在j就是标记为 标记到的都是和数
isPrime[j]=true;
}
}
}
return count;
}
public static void main(String[] args) {
System.out.println(bf());
}
}