Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript로 두 수의 최소 공배수(LCM)를 구하는 함수 만들기

최소 공배수(LCM, Least Common Multiple)란 두 정수 ab가 주어졌을 때, 두 수 모두로 나누어 떨어지는 가장 작은 양의 정수를 의미합니다.

예시 −

4와 6의 최소 공배수는 12입니다. 12는 4와 6으로 각각 나누었을 때 나머지 없이 딱 떨어지는 가장 작은 수이기 때문입니다.

이번 글에서는 두 개의 숫자를 입력받아 해당 숫자들의 최소 공배수를 계산하고 반환하는 JavaScript 함수를 작성해 보겠습니다.

최소 공배수를 구하는 원리

최소 공배수를 구하는 가장 효율적인 방법은 최대 공약수(HCF)를 활용하는 것입니다. 두 수의 곱을 최대 공약수로 나누면 최소 공배수를 구할 수 있으며, 공식은 다음과 같습니다.

LCM(a, b) = (a × b) / HCF(a, b)

최대 공약수는 1부터 두 수 중 작은 값까지 반복하면서, 두 수를 모두 나누어 떨어지게 하는 가장 큰 값을 찾으면 됩니다.

코드 예제

다음은 위 원리를 적용한 전체 코드입니다 −

const num1 = 4;
const num2 = 6;
const findLCM = (num1, num2) => {
    let hcf;
    for (let i = 1; i <= num1 && i <= num2; i++) {
        if( num1 % i == 0 && num2 % i == 0) {
            hcf = i;
        };
    };
    let lcm = (num1 * num2) / hcf;
    return lcm;
};
console.log(findLCM(num1, num2));

코드 설명

위 코드의 동작 과정을 단계별로 살펴보면 다음과 같습니다.

① 반복문을 통해 1부터 두 수 중 작은 값까지 순회하면서, 두 수를 모두 나누어 떨어지게 하는 값을 찾아 hcf(최대 공약수)에 저장합니다.

② 두 수의 곱을 최대 공약수로 나누어 최소 공배수(lcm)를 계산합니다.

③ 계산된 최소 공배수를 반환합니다.

출력 결과

콘솔에 출력되는 결과는 다음과 같습니다 −

12