[javascript] 반복문을 이용한 최대공약수(GCD) 구하기

이번에는 반복문을 사용하여 두 수의 최대공약수를 구하는 방법에 대해 알아보겠습니다. 최대공약수란 두 개 이상의 정수의 공통 약수 중에서 가장 큰 수를 말합니다.

최대공약수를 구하는 방법으로는 유클리드 호제법이 널리 사용됩니다. 유클리드 호제법은 재귀적인 방법을 사용하지만, 여기에서는 반복문을 사용하여 최대공약수를 구하는 방법에 대해 살펴보겠습니다.

알고리즘 구현

두 수 a, b의 최대공약수를 구하는 알고리즘을 반복문을 사용하여 구현해보겠습니다.

function gcd(a, b) {
    while (b !== 0) {
        let temp = b;
        b = a % b;
        a = temp;
    }
    return a;
}

위의 코드에서는 ab가 0이 아닐 때까지 ba로 나눈 나머지를 b에, btemp에 대입한 후 atemp로 대체하는 과정을 반복합니다. 최종적으로 a가 최대공약수가 됩니다.

예제

console.log(gcd(12, 15)); // 3
console.log(gcd(60, 48)); // 12

결론

반복문을 사용하여 최대공약수를 구하는 유클리드 호제법은 간단하면서도 효율적인 방법입니다. 이를 통해 최대공약수를 구하는 알고리즘에 대해 이해하고, 실제 코드로 구현하는 방법을 익힐 수 있습니다.

최대공약수 계산을 위한 반복문을 사용한 유클리드 호제법의 자세한 내용은 이 링크를 참고하시기 바랍니다.