직각 삼각형의 빗변이 전체 사각형과 마주칠 수 있는 최대의 경우를 먼저 뺀다. 이후 공통적인 부분은 다시 더해주는 게 포인트.
import Foundation
func solution(_ w:Int, _ h:Int) -> Int64{
var answer:Int64 = 0
let w = Int64(w)
let h = Int64(h)
func getGCD(A:Int64, B: Int64) -> Int64{
if B == 0 {
return A
} else {
return getGCD(A: B, B: A % B)
}
}
answer = w * h - (w + h) - getGCD(A: w, B: h)
return answer
}