소수 찾기, 에라토스테네스의 체 알고리즘
Javascript
function isPrime(num) {
if (num === 2) return true;
for (let i = 2; i < Math.floor(Math.sqrt(num)); i++) {
if (num % i === 0) return false;
}
return true;
}
function Eratos(num) {
let arr = new Array(num + 1).fill(1);
for (let i = 2; i < Math.floor(Math.sqrt(num)); i++) {
if (arr[i] === 0) continue;
for (let j = i * i; j <= num; j += i) {
arr[j] = 0;
}
}
let result = [];
for (let i = 2; i <= num; i++) {
if (arr[i] === 1) result.push(i);
}
return result;
}
let prime = Eratos(100);
prime.forEach((n) => {
console.log(n, isPrime(n));
});
'코딩테스트(알고리즘) > 알고리즘 구현' 카테고리의 다른 글
2진법 16진법 변환 구현 (0) | 2022.07.02 |
---|---|
[알고리즘 구현] 이진탐색 binarySearch (Javascript) (0) | 2022.06.25 |
[알고리즘 구현] 정렬 sort (Javascript) (0) | 2022.06.25 |
순열, 조합 구현 (Javascript) (0) | 2022.06.21 |
BFS 구현 (C++) (0) | 2022.06.17 |