在 JavaScript 中查找 0 到 100 之间的素数
识别指定范围内的素数可能是一项具有挑战性的任务,尤其是在使用模数方法。为了解决这个问题,请考虑采用一种更有效的方法,称为埃拉托斯特尼筛法。
埃拉托斯特尼筛法在 JavaScript 中的实现:
以下 JavaScript 实现使用了筛法埃拉托色尼算法查找素数:
<code class="javascript">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; }</code>
通过调用getPrimes(100),您可以检索包含 2 到 100(含)之间的所有素数的数组。与原始问题中提到的模数方法相比,此方法提供了一种更高效且可扩展的方法。
用法:
<code class="javascript">var primeNumbers = getPrimes(100); console.log(primeNumbers); // prints [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]</code>
以上是如何在 JavaScript 中查找 0 到 100 之间的素数?的详细内容。更多信息请关注PHP中文网其他相关文章!