소개
이 랩에서는 소인수분해의 개념과 이를 JavaScript 에서 trial division 알고리즘을 사용하여 구현하는 방법을 살펴봅니다. 주어진 숫자의 소인수를 찾는 방법과 이 작업을 처리할 수 있는 함수를 구축하는 방법을 배웁니다. 이 랩은 실습 경험을 제공하고 알고리즘과 구현에 대한 더 깊은 이해를 제공합니다.
Trial Division 알고리즘을 사용하여 숫자의 소인수를 찾는 방법
Trial division 알고리즘을 사용하여 주어진 숫자의 소인수를 찾으려면 다음 단계를 따르세요.
- 터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다. 2부터 시작하여 가능한 모든 소인수를 반복하기 위해while루프를 사용합니다.- 현재 인수
f가n을 정확히 나누면f를 인수 배열에 추가하고n을f로 나눕니다. 그렇지 않으면f를 1 씩 증가시킵니다. - 함수
primeFactors는 숫자n을 입력으로 받아 소인수 배열을 반환합니다. - 함수를 테스트하려면
primeFactors(147)을 호출하면[3, 7, 7]이 반환됩니다.
다음은 JavaScript 코드입니다.
const primeFactors = (n) => {
let a = [],
f = 2;
while (n > 1) {
if (n % f === 0) {
a.push(f);
n /= f;
} else {
f++;
}
}
return a;
};
147을 소인수를 찾고 싶은 숫자로 바꾸는 것을 잊지 마세요.
요약
축하합니다! 숫자 소인수 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.