在 JavaScript 领域,识别给定范围内的素数是一项计算挑战。对于那些不熟悉素数的人来说,它们是只能被 1 和自身整除的正整数。
查找素数的一种方法是使用埃拉托斯特尼筛法算法。此方法首先创建一个从 0 到所需上限的整数数组,在本例中为 100。随后,与非素数对应的数组元素被标记为复合元素。
该算法通过设置索引 1 到 0 处的元素,表明 1 不是质数。然后继续迭代数组,将每个素数的所有倍数标记为非素数。例如,如果当前素数是 2,则 2 的所有倍数(2 本身除外)都被标记为合数。这个过程一直持续下去,直到处理完上限平方根为止的所有素数。
这是埃拉托斯特尼筛法算法的 JavaScript 实现:
<code class="js">function getPrimes(max) { var sieve = [], i, j, primes = []; for (i = 2; i <= max; ++i) { if (!sieve[i]) { primes.push(i); for (j = i << 1; j <= max; j += i) { sieve[j] = true; } } } return primes; } console.log(getPrimes(100));</code>
运行此函数将生成包含 2 到 100(含)之间的所有素数的数组。该方法使用综合方法有效地确定指定范围内的素数。
以上是如何在 JavaScript 中使用埃拉托斯特尼筛法查找 0 到 100 之间的所有素数?的详细内容。更多信息请关注PHP中文网其他相关文章!