Did I word that title correctly?
var eratosthenes = function(n) {
// Eratosthenes algorithm to find all primes under n
var array = [], upperLimit = Math.sqrt(n), output = [];
// Make an array from 2 to (n - 1)
for (var i = 0; i < n; i++)
array.push(true);
// Remove multiples of primes starting from 2, 3, 5,...
for (var i = 2; i <= upperLimit; i++) {
if (array[i]) {
for (var j = i * i; j < n; j += i)
array[j] = false;
}
}
for (var i = 2; i < n; i++) {
if(array[i])
output.push(i);
}
return output;
}
fiddle: http://jsfiddle.net/KARZw/
What is the purpose of upperLimit = Math.sqrt(n)?
code from: Sieve of Eratosthenes algorithm in JavaScript running endless for large number