Skip to content

Commit 143025e

Browse files
author
liguanliang1
committed
feat: prime
1 parent 278797c commit 143025e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

leetcode/prime/index.js

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
function isPrime(n) {
2+
if (n === 2 || n === 3) return true
3+
if (n % 2 === 0 || n % 3 === 0) return false
4+
for (var i = 5; i * i <= n; i += 6) {
5+
if (n % (i + 2) === 0 || n % i === 0) {
6+
return false
7+
}
8+
}
9+
return true
10+
}
11+
function prime(n) {
12+
if (n <= 2) return [2, 3][n - 1]
13+
let m = 2
14+
let i = 5
15+
let r
16+
while (m < n) {
17+
if (isPrime(i)) {
18+
m++
19+
if (m === n) {
20+
r = i
21+
break;
22+
}
23+
}
24+
if (isPrime(i + 2)) {
25+
m++
26+
if (m === n) {
27+
r = i + 2
28+
break;
29+
}
30+
}
31+
i += 6
32+
}
33+
return r;
34+
}
35+
36+
function log(n) {
37+
let i = 1;
38+
while (i < n) {
39+
console.log(prime(i))
40+
i++
41+
}
42+
}
43+
log(100)

0 commit comments

Comments
 (0)