我用对了那个标题吗?
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;
}
小提琴:http: //jsfiddle.net/KARZw/
upperLimit = Math.sqrt(n) 的目的是什么?