Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 숫자의 가장 큰 소인수 찾기

<시간/>

숫자를 유일한 인수로 사용하는 JavaScript 함수를 작성해야 합니다.

인수로 제공되는 숫자는 합성수(요소가 2개 이상인 숫자)로 보장됩니다. 우리의 함수는 입력된 숫자를 정확히 나누는 가장 큰 소수를 찾아야 합니다.

예:

인수가 72이면 출력은 3이어야 합니다.

3은 72를 정확히 나누는 가장 큰 소수이기 때문에

예시

다음은 코드입니다 -

const num = 72;
const largestPrimeFactor = (num) => {
   let res = Math.ceil(Math.sqrt(num));
   const isPrime = (num) => {
      let i, limit = Math.ceil(Math.sqrt(num));
      for (i = 3; i <= limit; i += 2) {
         if (num % i === 0) {
            return false;
         };
      };
      return true;
   };
   res = (res & 1) === 0 ? res - 1 : res;
   while (!(num % res === 0 && isPrime(res))) {
      res -= 2;
   };
   return res;
}
console.log(largestPrimeFactor(num));

출력

다음은 콘솔의 출력입니다 -

3