少数の判別
小数を判別する方法は大きく2つある.
// 1. Math.sqrt 사용하는 방법
function isPrime(num) {
if (num === 1) return false;
for (let i = 2; i <= Math.sqrt(num); i++) {
if (num % i === 0) return false;
}
return true;
}
// 2. 에라토스테네스의 체
// 참고: https://blog.naver.com/PostView.naver?blogId=ndb796&logNo=221233595886&redirect=Dlog&widgetTypeCall=true&directAccess=false
function Eratosthenes() {
let arr = new Array(3000).fill(0).map((_, index) => index);
for (let i = 2; i < 3000; i++) {
if (arr[i] === 0) {
continue;
}
for (let j = i + i; j < 3000; j += i) {
arr[j] = 0;
}
}
// 0, 1 제외
arr = arr.filter((v) => v !== 1 && v !== 0);
return new Set(arr);
}
Reference
この問題について(少数の判別), 我々は、より多くの情報をここで見つけました https://velog.io/@jaegyeongkim/소수-판별テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol