コーディング中に自然数の素数判定が必要になり、関数を作成しました。
実際の動作確認が出来るサンプルと、ソースコードをメモをしておきます。
INDEX
自然数から素数を判定する
数値(半角英数)を入力し「素数判定」ボタンをクリックして下さい。
出力結果
ここに結果が表示されます。
スクリプトの詳細
あまりに大きな自然数に対しては、効率のよい処理を追加しないと演算負荷が半端ないですが、とりあえずこれで素数の判定は行えます。
[code]
function isPrime(n) {
if (n%2 == 0) return n == 2;
if (n%3 == 0) return n == 3;
var limit = Math.sqrt(n);
for (var i=5, d=2; i <= limit; i+=d, d=6-d) {
if (n%i == 0) return false;
}
return true;
}
[/code]
まとめ
今回は JavaScript で書いてますが、他の言語でも書式を変更すれば流用が可能です。
この記事がみなさんのお役に立ちましたら、下記「Share it」よりブックマークやSNSで共有していただければ幸いです。
