-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCount Primes.js
46 lines (44 loc) · 901 Bytes
/
Count Primes.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/**
* @param {number} n
* @return {number}
*/
var countPrimes = function(n) {
// var sum=0;
// for(var i=1; i<n; i++){
// if(isPrime(i))
// sum++;
// }
// return sum;
//method2: iteration
if(n<=1)
return 0;
var isPrime = [];
for (var i = 0; i < n; i++) {
isPrime[i] = true;
}
isPrime[0] = false;
isPrime[1] = false;
for(let i=2; i<Math.sqrt(n); i++){
for(var j=2;j*i<n;j++){
isPrime[j*i] = false;
}
}
var count=0;
for(var i=2;i<n;i++){
if(isPrime[i])
count++;
}
return count;
};
// var isPrime = function(n){
// if(n==1)
// return false;
// if(n<=3)
// return true;
// var fac = Math.sqrt(n);
// for(var i=2; i<=fac; i++){
// if(n%i==0)
// return false;
// }
// return true;
// }