[kotlin] 코틀린으로 최소 공배수 알고리즘 구현하기

이번에는 코틀린을 사용하여 두 수의 최소 공배수(LCM)를 구하는 알고리즘을 살펴보겠습니다. 최소 공배수는 두 개 이상의 수를 나누어떨어지게 하는 가장 작은 공배수를 말합니다.

최소 공배수란?

최소 공배수(LCM)는 두 수의 공통된 배수 중에서 가장 작은 수를 말합니다. 일반적으로 LCM(a, b)로 표시하며, 두 수 a와 b의 최소 공배수를 의미합니다.

최소 공배수 알고리즘 구현

아래는 코틀린으로 최소 공배수를 구하는 알고리즘의 예시입니다.

// 최대 공약수(GCD)를 구하는 함수
fun gcd(a: Int, b: Int): Int {
    return if (b == 0) a else gcd(b, a % b)
}

// 최소 공배수(LCM)를 계산하는 함수
fun lcm(a: Int, b: Int): Int {
    return a * b / gcd(a, b)
}

fun main() {
    val num1 = 6
    val num2 = 8
    val result = lcm(num1, num2)
    println("최소 공배수: $result")
}

위의 예시 코드에서, gcd 함수는 최대 공약수를 구하는 함수이고, lcm 함수는 최소 공배수를 계산하는 함수입니다. 두 함수를 활용하여 두 수의 최소 공배수를 구할 수 있습니다.

마치며

코틀린을 사용하여 최소 공배수를 구하는 간단한 알고리즘을 살펴보았습니다. 최대 공약수를 구하는 함수를 이용하여 최소 공배수를 계산하는 원리를 익히고, 알고리즘을 구현하는 방법에 대해 알아보았습니다. 위의 예시 코드를 참고하여 여러분만의 최소 공배수 알고리즘을 구현해 보세요.

참고 문헌: GeeksforGeeks - LCM of two numbers