Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

エラトステネスのふるいを使用して素数JavaScriptを見つける


nなどの数値を受け取るJavaScript関数を作成する必要があります。

この関数は、1からnまでのすべての素数の配列を返す必要があります。

アプローチ

最初のステップは、指定された数と同じ大きさの配列を作成し、そのすべての値をtrueとして初期化することです。配列インデックスは、すべての可能な素数を表し、最初はすべてtrueです。

次に、2から指定された数の平方根まで繰り返すforループを作成します。定義上、整数の積は素数にすることはできませんが、0と1は、それらによる除算が素数性に影響を与えないため、無視されます。

最後に、すべての偽の値を単純に除外して、すべての素数に到達することができます。

const num = 100;
const findPrimes = (num = 10) => {
   const numArr = new Array(num + 1);
   numArr.fill(true);
   numArr[0] = numArr[1] = false;
   for (let i = 2; i <= Math.sqrt(num); i++) {
      for (let j = 2; i * j <= num; j++){
          numArr[i * j] = false;
      }
   }
   return numArr.reduce((acc, val, ind) => {
      if(val){
         return acc.concat(ind);
      }else{
         return acc;
      };
   },[]);
};
console.log(findPrimes(num));

出力

そして、コンソールの出力は-

になります
[
   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
]

  1. Firebugを使用したJavaScriptのデバッグ

    デバッグは、欠陥を取り除く体系的な方法です。それはすべて、テストケースの実行から始まります。テストケースが実行されるたびに、実際の結果が期待される結果と比較されます。実際の結果と期待される結果の間に対応がない場合は、根本原因分析が行われ、結果が期待される線に沿っていることを確認するために回帰テストなどの追加のテストが実行されます。 静的なWebページを設計するために、HTMLが広く使用されています。動的なWebベースのアプリケーションであるJavaScriptを開発するには、Webのスクリプト言語を使用する必要があります。コードをバグのないものにするために、プログラマーは多くのデバッグ手法に

  2. JavaScriptのインポートで「{}」を使用しますか?

    以下は、javaScriptインポートで{}を使用するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style>