멀쩡한 사각형 - Lv2

108번뇌·2021년 1월 5일
0


#include <iostream>
using namespace std;

long long GCD(long long a, long long b)//최대 공약수 구하는 함수
{
    int c = 0;
    while(b!=0)
    {
        c = a%b;
        a = b;
        b = c;
    }
    return a;
}

long long solution(int w,int h) {
    long long answer = 1;
    
    long long W = w;
    long long H = h;
    

    long long iTemp = GCD(w, h);//1.최대공약수 구한다.
    long long width = W/iTemp;//분할된 직사각형 가로길이
    long long heith = H/iTemp;//분할된 직사각형 세로길이

    //잘려나가는 사각형
    
    answer = W*H - iTemp * (width+heith-1);
    
    return answer;
}
  1. 중간에
    long long width = W/iTemp;//분할된 직사각형 가로길이
    long long heith = H/iTemp;//분할된 직사각형 세로길이
    이거안하면 답안나온다.

  2. 최대공약수 구하는 방법
    이거랑
    int GCV(int a,int b)
    {
    if(a==0) return b;
    return GCD(int b%a,a);
    }

  3. 수식쓸땐 최대공약수 직사각형 분할로 나눔.
    분할로 나눠진 상태에서 (width+heith-1);에다가 분할되기전 수를 곱한거다.

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글