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

JavaScript 범위의 최소 공통 계산

<시간/>

두 숫자 a와 b(a>=b)의 배열을 받아 [a, b] 사이의 모든 숫자의 최소 공배수를 반환하는 함수를 작성해야 합니다.

접근

우리는 먼저 두 숫자의 최소 공배수를 계산하는 기본 함수를 작성할 것입니다. 일단 [a, b] 사이에 있는 숫자에 대해 재귀적으로 호출하고 최종적으로 결과를 반환하면 됩니다.

예시

const lcm = (a, b) => {
   let min = Math.min(a, b);
   while(min >= 2){
      if(a % min === 0 && b % min === 0){
         return (a*b)/min;
      };
      min--;
   };
   return (a*b);
};
const leastCommonMultipleInRange = (arr, len = arr[0], res = 1) => {
   if(len <= arr[1]){
      return leastCommonMultipleInRange(arr, len+1, lcm(res, len));
   };
   return res;
};
console.log(leastCommonMultipleInRange([6, 8]));
console.log(leastCommonMultipleInRange([6, 18]));
console.log(leastCommonMultipleInRange([1, 8]));
console.log(leastCommonMultipleInRange([10, 25]));

출력

콘솔의 출력은 다음과 같습니다. -

168
12252240
840
26771144400