소개
이 랩에서는 JavaScript 프로그래밍의 흥미로운 세계를 탐구할 것입니다. 이 랩은 JavaScript 를 사용하여 프로그래밍 문제를 해결하는 실질적인 경험을 쌓도록 설계되었습니다. 에라토스테네스의 체 (Sieve of Eratosthenes) 알고리즘을 사용하여 주어진 숫자까지의 소수를 생성하는 방법을 배우게 됩니다.
에라토스테네스의 체를 사용하여 소수 생성하기
에라토스테네스의 체를 사용하여 주어진 숫자까지의 소수를 생성하려면 다음 단계를 따르세요.
- 터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다. 2부터 주어진 숫자까지의 숫자를 포함하는 배열을 생성합니다.Array.prototype.filter()를 사용하여2부터 제공된 숫자의 제곱근까지의 숫자로 나누어 떨어지는 값을 필터링합니다.- 소수를 포함하는 결과 배열을 반환합니다.
다음은 주어진 숫자까지의 소수를 생성하는 JavaScript 코드입니다.
const generatePrimes = (num) => {
let arr = Array.from({ length: num - 1 }).map((x, i) => i + 2),
sqrt = Math.floor(Math.sqrt(num)),
numsTillSqrt = Array.from({ length: sqrt - 1 }).map((x, i) => i + 2);
numsTillSqrt.forEach(
(x) => (arr = arr.filter((y) => y % x !== 0 || y === x))
);
return arr;
};
원하는 숫자를 인수로 전달하여 generatePrimes() 함수를 호출할 수 있습니다. 예를 들어:
generatePrimes(10); // [2, 3, 5, 7]
요약
축하합니다! 주어진 숫자까지의 소수 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.