ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で素数を効率的にチェックするには?

JavaScript で素数を効率的にチェックするには?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 20:12:29715ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。