static int getNumberOfPrimes(int N) { int n = N+1;//to include 0 as the first number for easy index operations later final boolean a[] = new boolean[n]; //Initialized to null by default. Arrays.fill(a, true); a[0] = false; a[1] = false; for (int i = 2; i < n / 2; ++i) { if (a[i]) { for (int j = i + i; j < n; j += i) a[j] = false; } } int count = 0;for(int i = 2;i<n;++i) { if(a[i]) { //System.out.print(i+","); ++count; } } return count; }
时间: 2024-10-23 18:49:19