アルゴリズム|小数を検索-エラトネスの体
4419 ワード
小数点を検索
小数を探すのは簡単ですが、時間の複雑さを減らすためには、エラトネスのふるいを使う必要があります.小数点を検索する問題は簡単ですが、リアルタイム符号化でコミットできますので、この点を覚えておいてください.
エラトステネスのふるい
注意:ウィキペディア
エラトネスのふるいは少数を探すために使われている.
アルゴリズム#アルゴリズム#
自分以外の2の倍数を消す.
自分以外の3の倍数を消す.
自分以外の5倍を消す.
自分以外の7の倍数を消す.
図中は
11 ^ 2 > 120
で、11未満の倍数だけ削除すれば十分です.すなわち,120以下の数では,2,3,5,7の倍数を除いて残りは少数である.ソースコード
const countPrimes = n => {
const prime = Array(n).fill(true);
prime[0] = prime[1] = false;
for (let i = 2; i * i < n; i++) {
if (prime[i]) {
for (let j = i * i; j <= n; j += i) {
prime[j] = false;
}
}
}
return prime.filter(num => num).length;
};
console.log(countPrimes(10));
Reference
この問題について(アルゴリズム|小数を検索-エラトネスの体), 我々は、より多くの情報をここで見つけました https://velog.io/@heelieben/알고리즘-소수-찾기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol