1324. 质数的个数
计算小于非负数n的质数的个数。
样例
样例 1
输入: n = 2
输出: 0
样例 2
输入: n = 4
输出: 2
解析:2, 3 是素数
public class Solution {
boolean[] isprime;
int[] primelist;
public int countPrimes(int n) {
// write your code here
isprime = new boolean[n + 10];
primelist = new int[n + 10];
int ans = 0;
for (int i = 2; i < n; i++) {
if (!isprime[i]) primelist[ans++] = i;
for (int j = 0; j < ans; j++) {
if (i * primelist[j] > n) break;
isprime[i * primelist[j]] = true;
if (i % primelist[j] == 0) break;
}
}
return ans;
}
}