File tree Expand file tree Collapse file tree 2 files changed +21
-33
lines changed Expand file tree Collapse file tree 2 files changed +21
-33
lines changed Original file line number Diff line number Diff line change 16
16
* console.log(isPrime(18)); // false
17
17
*/
18
18
exports . isPrime = function ( number ) {
19
- if ( number === 1 ) {
19
+
20
+ if ( number < 2 ) {
20
21
return false ;
22
+ }
21
23
22
- } else if ( number < 4 ) {
23
- /**
24
- * 2 and 3 are prime
25
- */
26
- return true ;
24
+ if ( number % 2 === 0 ) {
25
+ return ( number === 2 ) ;
26
+ }
27
27
28
- } else if ( number % 2 === 0 ) {
29
- return false ;
28
+ if ( number % 3 === 0 ) {
29
+ return ( number === 3 ) ;
30
+ }
30
31
31
- } else if ( number < 9 ) {
32
- /**
33
- * We have already excluded 4,6 and 8
34
- */
35
- return true ;
32
+ var horizon = Math . floor ( Math . sqrt ( number ) ) ;
33
+ var factor = 5 ;
36
34
37
- } else if ( number % 3 === 0 ) {
38
- return false ;
35
+ while ( factor <= horizon ) {
39
36
40
- } else {
41
- /**
42
- * 'number' rounded to the greatest integer 'rounded' so that:
43
- * rounded * rounded <= number
44
- */
45
- var rounded = Math . floor ( Math . sqrt ( number ) ) ;
46
- var factor = 5 ;
47
- while ( factor <= rounded ) {
48
- if ( number % factor === 0 ) {
49
- return false ;
50
- }
51
- if ( number % ( factor + 2 ) === 0 ) {
52
- return false ;
53
- }
54
- factor += 6 ;
37
+ if ( number % factor === 0 ) {
38
+ return false ;
55
39
}
56
- }
57
40
41
+ if ( number % ( factor + 2 ) === 0 ) {
42
+ return false ;
43
+ }
44
+ factor += 6 ;
45
+ }
58
46
return true ;
59
47
} ;
60
48
Original file line number Diff line number Diff line change 21
21
var size = array . length ;
22
22
var rand ;
23
23
var temp ;
24
- for ( var i = 1 ; i < size ; i += 1 ) {
25
- rand = Math . round ( Math . random ( ) * i ) ;
24
+ for ( var i = 0 ; i < size ; i += 1 ) {
25
+ rand = Math . floor ( i + Math . random ( ) * ( size - i ) ) ;
26
26
temp = array [ rand ] ;
27
27
array [ rand ] = array [ i ] ;
28
28
array [ i ] = temp ;
You can’t perform that action at this time.
0 commit comments