ホームページ >ウェブフロントエンド >jsチュートリアル >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 中国語 Web サイトの他の関連記事を参照してください。