2.统计素数个数
public class Sushu {
public static void main(String[] args) {
System.out.println(bf(100));
System.out.println(eratosthenes(100));
}
private static int bf(int n) {
int count=0;
for (int i = 2; i < n; i++) {
count+=isPrime(i)?1:0;
}
return count;
}
private static boolean isPrime(int x){
for (int i = 2; i<= Math.sqrt(x); i++) {
if(x%i==0){
return false;
}
}
return true;
}
public static int eratosthenes(int n){
boolean[] isPrime=new boolean[n];
int count=0;
for (int i = 2; i < n; i++) {
if(!isPrime[i]){
count++;
for (int j = i*i; j < n; j+=i) {
isPrime[j]=true;
}
}
}
return count;
}
}