统计素数个数
暴力算法和埃氏筛选法
public class SuShu {
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;
}
public 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 void main(String[] args) {
System.out.println("请输入需要统计哪个数为止的素数");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int count = eratosthenes(num);
System.out.println("素数的个数是="+count);
}
}