エラトステネスの篩
エラトステネスの篩:
素数を求めるアルゴリズム「エラトステネスの篩」をJavaScriptで書いてみたので投稿してみる。
以上!
素数を求めるアルゴリズム「エラトステネスの篩」をJavaScriptで書いてみたので投稿してみる。
function GetPrimeNumbers (m) { //配列をつくって 0 と 1 にはあらかじめ null としておく。 var t = (new Array(m)).fill(0).map((v, i) => i); t[0] = null; t[1] = null; //エラトステネスの篩 で素数の添字に null セット for (var i = 2; (i * i) < m; i++) { var p = i << 1; while (p < m) { t[p] = null; p += i; } } //nullを配列から除去して返す return t.filter(v => v); } //100までの素数を出力 console.log( GetPrimeNumbers (100) ); // [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]
コメント
コメントを投稿