在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中文網其他相關文章!