Skip to content

Instantly share code, notes, and snippets.

@svagi
Last active January 31, 2016 15:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save svagi/6113e0eddcbe1f38be61 to your computer and use it in GitHub Desktop.
Save svagi/6113e0eddcbe1f38be61 to your computer and use it in GitHub Desktop.
Function for finding all prime numbers up to any given limit (Sieve of Eratosthenes)
function getPrimes (n) {
const sieve = new (Uint32Array || Array)(n + 1);
const primes = [];
const length = sieve.length;
const limit = Math.floor(Math.sqrt(n + 1))
let p = 0;
let m = 0;
for (p = 2; p <= limit; p++) {
for (m = p * 2; m < length; m += p){
sieve[m] = 1;
}
}
for (p = 2; p <= length; p++){
if (!sieve[p]){
primes.push(p);
}
}
return primes;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment