Skip to content

Instantly share code, notes, and snippets.

@rmcvey
Created April 21, 2016 02:26
Show Gist options
  • Save rmcvey/a9825dd7841917aae0d9bf4cc9e92bc4 to your computer and use it in GitHub Desktop.
Save rmcvey/a9825dd7841917aae0d9bf4cc9e92bc4 to your computer and use it in GitHub Desktop.
'use strict';
const primeSieve = (n) => {
const p = (new Array(n)).fill(1);
for (let i = 2; i <= n; ++i) {
for (let j = i * i; j <= n; j += i) {
p[j] = 0;
}
}
return p.map((i, x) => i ? x : i).filter(i => i);
}
const primesForLoop = (n) => {
const p = (new Array(n)).fill(1);
const o = [];
for (let i = 2; i <= n; ++i) {
for (let j = i * i; j <= n; (j += i)) {
p[j] = 0;
}
}
for (let x = 0; x < n; x++) {
if (p[x]) {
o.push(x);
}
}
return o;
}
console.time('prime map/filter');
console.log(primeSieve(400).pop());
console.timeEnd('prime map/filter');
console.time('prime for loop');
console.log(primesForLoop(10000).pop());
console.timeEnd('prime for loop');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment