高效查找某个范围内的素数
在 JavaScript 中,识别指定范围内的素数可以通过多种方法实现。一种常用的方法是埃拉托斯特尼筛法算法。该技术将素数的倍数标记为非素数,从而可以有效识别素数。
以下是改进的埃拉托色尼筛法算法的 JavaScript 实现,用于查找 0 到 100 范围内的素数:
function getPrimes(max) { var sieve = [], i, j, primes = []; for (i = 2; i <= max; ++i) { if (!sieve[i]) { // i has not been marked -- it is prime primes.push(i); for (j = i << 1; j <= max; j += i) { sieve[j] = true; } } } return primes; }
在此函数中,名为“sieve”的数组用于跟踪标记为非素数的数字。从 2 到指定的最大值迭代数字,未标记的数字被视为素数并添加到 'primes' 数组中。随后,多个素数在“sieve”数组中被标记为非素数。
通过使用此函数,您可以高效地检索指定范围内的所有素数。例如,getPrimes(100) 将返回 2 到 100(含)之间所有素数的数组。
以上是如何在 JavaScript 中高效查找某个范围内的素数?的详细内容。更多信息请关注PHP中文网其他相关文章!