首頁 > web前端 > js教程 > 如何在 JavaScript 中有效率地檢查素數?

如何在 JavaScript 中有效率地檢查素數?

Susan Sarandon
發布: 2024-10-29 20:12:29
原創
713 人瀏覽過

How to Efficiently Check for Prime Numbers in JavaScript?

如何在 JavaScript 中確定素數

在 JavaScript 中,辨識素數是一項常見的程式設計任務。質數是大於 1 的正整數,除了 1 和它本身之外,不能被任何其他正整數整除。

解決方案1:樸素方法

提供的程式碼片段提供了一種檢查數字是否為素數的簡單方法:

<code class="js">let inputValue = 7;
let isPrime = inputValue == 1 ? false : true;

for (let i = 2; i < inputValue; i++) {
  inputValue % i == 0 ? isPrime *= false : isPrime *= true;
}

alert(`${inputValue} is ${isPrime ? 'prime' : 'not prime'} number`);
登入後複製

時間複雜度:O(sqrt(n))

空間複雜度:O(1)

解決方案2 :高效率方法

檢查質數的改進方法是:

<code class="js">const isPrime = num => {
  for (let i = 2, s = Math.sqrt(num); i <= s; i++) {
    if (num % i === 0) return false;
  }
  return num > 1;
};</code>
登入後複製

這段程式碼利用這樣一個事實:如果一個數不是質數,則它的因數小於或等於其平方根。透過檢查平方根以下的因子,我們可以有效地消除潛在因子。

時間複雜度:O(sqrt(n))

空間複雜度:O(1)

以上是如何在 JavaScript 中有效率地檢查素數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板