숫자의 소인수

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 소인수분해의 개념과 이를 JavaScript 에서 trial division 알고리즘을 사용하여 구현하는 방법을 살펴봅니다. 주어진 숫자의 소인수를 찾는 방법과 이 작업을 처리할 수 있는 함수를 구축하는 방법을 배웁니다. 이 랩은 실습 경험을 제공하고 알고리즘과 구현에 대한 더 깊은 이해를 제공합니다.

Trial Division 알고리즘을 사용하여 숫자의 소인수를 찾는 방법

Trial division 알고리즘을 사용하여 주어진 숫자의 소인수를 찾으려면 다음 단계를 따르세요.

  • 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  • 2부터 시작하여 가능한 모든 소인수를 반복하기 위해 while 루프를 사용합니다.
  • 현재 인수 fn을 정확히 나누면 f를 인수 배열에 추가하고 nf로 나눕니다. 그렇지 않으면 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 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.