백준 - 최소공배수 (1934)

Seoyoung Lee·2023년 2월 9일
0

알고리즘

목록 보기
39/104
post-thumbnail
let T = Int(readLine()!)!
var answer = ""

for _ in 0..<T {
    let input = readLine()!.split(separator: " ").map{ Int(String($0))! }
    let gcd = findGcd(input[0], input[1])
    answer += "\(input[0] * input[1] / gcd)\n"
}

print(answer)

func findGcd(_ A: Int, _ B: Int) -> Int {
    if A % B == 0 {
        return B
    }
    return findGcd(B, A % B)
}

유클리드 호제법을 사용해 최대공약수를 구한 후 A * B / 최대공약수 를 계산하여 두 수 A, B의 최소공배수를 구한다.

최대공약수를 구하는 함수는 재귀 함수의 형태로 구현한다.

profile
나의 내일은 파래 🐳

0개의 댓글