对于暴力统计其实我们没有必要去判断每一个数字的。
某个范围内由素数以及非素数,每个数都有自己的因子。两个素数相乘肯定是一个和数,非素数。所以,我们可以对一个和素不进行判断。
进行优化下,减少计算次数。
class Solution {public 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 = 2*i; j < n; j+=i) { // 优化: for(int j = i*i; j < n; j+=i)isPrime[j] = true;}}}return count;}}
