// 멀쩡한 사각형 - 서머코딩/윈터코딩(2019)
public class Square {
public long solution(int w, int h) {
long gcd = gcd(w, h);
return (long) w * (long) h - ((w / gcd) + (h / gcd) - 1) * gcd; // 1억 * 1억 일때 오버플로우가 발생하므로 (long) 형변환 필수
}
public long gcd(int w, int h) {
for (int i = Math.min(w, h); i >= 2; i--) {
if (w % i == 0 && h % i == 0) {
return i;
}
}
return 1;
}
public static void main(String[] args) {
Square s = new Square();
System.out.println(s.solution(8, 12)); // 80
}
}