7️⃣

【TypeScript】素数を判定してみよう

2023/02/22に公開

TypeScript(JavaScript)で素数を判定したいこと、ありますよね?え?ない?

ということで今回は、TypeScriptで素数を判定するプログラムを書いてみました。(少しCopilotにやらせたけど)

完成形

let inputNumber = 13;

const isPrime = (inputNumber: number) => {
if (inputNumber < 2) {
    return false;
}
for (let i = 2; i < inputNumber; i++) {
    if (inputNumber % i === 0) {
	return false;
    }
}
return true;
};

こんな感じになりました。

解説(雑)

コメントを追加
let inputNumber = 13;
// 与えられた数が素数かどうかを判定する関数
const isPrime = (inputNumber: number) => {
  // 2未満の場合は素数ではない
  if (inputNumber < 2) {
    return false;
  }
  // 2からその数自身の前の数までの範囲で、割り切れる数があるかどうかを調べる
  for (let i = 2; i < inputNumber; i++) {
    // 割り切れる数があれば素数ではない
    if (inputNumber % i === 0) {
      return false;
    }
  }
  // 割り切れる数がなければ素数である
  return true;
};

isPrime()

だいたいこんな感じの処理をしています。

  • 与えられた数が2未満の場合、素数ではないと判定して false を返す。
  • 与えられた数が2以上の場合、2からその数自身の前の数までの範囲で、割り切れる数があるかどうかを調べる。
  • 割り切れる数がある場合、素数ではないと判定して false を返す。
  • 割り切れる数がない場合、素数であると判定して true を返す。

ただこのコードだと、大きい数字の場合めちゃくちゃループしないとなので、時間が少しかかるかもです。あと、20桁とかだと多分無理です。

まとめ

ということで、素数を判定してみました。こいつを使ってこんなサイトを作ったので、よければどうぞ(てきとうだけど)https://prime-number-check.vercel.app/
それではさようならーーーーーーー

Discussion