알고리즘
[Swift] 백준 2609번 최대공약수와 최소공배수
고고
2022. 3. 18. 13:33
링크: https://www.acmicpc.net/problem/2609
2609번: 최대공약수와 최소공배수
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
www.acmicpc.net
import Foundation
let arr = readLine()!.split(separator: " ").map { Int(String($0))! }
let N = arr[0]
let M = arr[1]
// 최대공약수
func GCD(_ a: Int, _ b: Int) -> Int {
let mod: Int = a % b
return 0 == mod ? min(a, b) : GCD(b, mod)
}
// 최소공배수
func LCM(_ a: Int, _ b: Int) -> Int {
return a * b / GCD(a, b)
}
print(GCD(N, M))
print(LCM(N, M))