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

JavaScript에서 여러 숫자의 LCM 계산

<시간/>

어떤 길이의 숫자 배열을 가져와서 해당 LCM을 반환하는 JavaScript 함수를 작성해야 합니다.

우리는 이 문제에 부분적으로 접근할 것입니다 -

1부 − 두 숫자의 최대 공약수(GCD)를 계산하는 도우미 함수를 생성합니다.

2부 − 그런 다음 파트 1 도우미 함수를 사용하여 두 숫자의 LCM(최소공배수)을 계산하는 또 다른 도우미 함수를 만듭니다.

3부 − 마지막으로 파트 2 도우미 함수를 사용하여 배열을 반복하고 배열 LCM을 계산하는 함수를 만듭니다.

예시

이에 대한 코드는 -

const calculateLCM = (...arr) => {
   const gcd2 = (a, b) => {
      // Greatest common divisor of 2 integers
      if(!b) return b===0 ? a : NaN;
         return gcd2(b, a%b);
   };
   const lcm2 = (a, b) => {
      // Least common multiple of 2 integers
      return a * b / gcd2(a, b);
   }
   // Least common multiple of a list of integers
   let n = 1;
   for(let i = 0; i < arr.length; ++i){
      n = lcm2(arr[i], n);
   }
   return n;
};
console.log(calculateLCM(12, 18, 7, 15, 20, 24, 28));

출력

콘솔의 출력은 -

2520