Skip to content

Commit fe0873d

Browse files
committed
204
1 parent e062083 commit fe0873d

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

204.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number} n
3+
* @return {number}
4+
*/
5+
var countPrimes = function(n) {
6+
if(n <= 2) return 0;
7+
n = n - 2;
8+
var prime = [], res = 1;
9+
for(var i = 0; i < n>>1; i++){
10+
prime.push(true);
11+
}
12+
var k = n>>1, m = parseInt(Math.sqrt(n));
13+
for(i = 0; i <= m; i++){
14+
if(prime[i]){
15+
for(var j = 2*i*i+6*i+3; j<=k; j+=2*i+3){
16+
prime[j] = false;
17+
}
18+
}
19+
}
20+
for(i = 0; i < n>>1; i++){
21+
if(prime[i] === true){
22+
res++;
23+
}
24+
}
25+
return res;
26+
};

0 commit comments

Comments
 (0)