problem solving

[프로그래머스]멀쩡한 사각형

Shinuk Yi 2020. 3. 5. 21:30

y, x축의 값이 정수가 나타날 때의 간격이 일정하다는 것

제외해야할 칸의 개수가 각각의 정수 사이의 y, x거리의 합 -1이란 것을 알면 문제를 해결할 수 있다.

(단! 범위를 초과하여 ac를 못 받을 수 있으면 주의하자)

using namespace std;
 
long long solution(int w,int h)
{
    long long answer = (long long)w * (long long)h;
    int div = w > h ? h : w;
    while(w % div != 0 || h % div != 0) {
        div--;
    }
    answer = answer - (div * (w / div + h / div - 1));
    return answer;
}
cs