はじめに
この実験では、JavaScript プログラミングの魅力的な世界について掘り下げます。この実験は、JavaScript を使ってプログラミング問題を解く際の実践経験を獲得するのに役立つように設計されています。エラトステネスの篩アルゴリズムを使って、与えられた数までの素数を生成する方法を学びます。
This tutorial is from open-source community. Access the source code
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、JavaScript プログラミングの魅力的な世界について掘り下げます。この実験は、JavaScript を使ってプログラミング問題を解く際の実践経験を獲得するのに役立つように設計されています。エラトステネスの篩アルゴリズムを使って、与えられた数までの素数を生成する方法を学びます。
エラトステネスの篩を使って、与えられた数までの素数を生成するには、次の手順に従います。
node
と入力します。2
から与えられた数までの数字を含む配列を作成します。Array.prototype.filter()
を使って、2
から与えられた数の平方根までの任意の数で割り切れる値をフィルタリングします。与えられた数までの素数を生成する JavaScript コードは次のとおりです。
const generatePrimes = (num) => {
let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2),
sqrt = Math.floor(Math.sqrt(num)),
numsTillSqrt = Array.from({ length: sqrt - 1 }).map((x, i) => i + 2);
numsTillSqrt.forEach(
(x) => (arr = arr.filter((y) => y % x !== 0 || y === x))
);
return arr;
};
必要な数を引数として渡すことで、generatePrimes()
関数を呼び出すことができます。たとえば:
generatePrimes(10); // [2, 3, 5, 7]
おめでとうございます!与えられた数までの素数の実験を完了しました。スキルを向上させるために、LabEx でさらに実験を行って練習できます。