멀쩡한 사각형

Updated:

  • 프로그래머스 level_2
  1. 공약수를 구한다

  2. n/m이 기약분수라면 n*m크기의 사각형에서 대각선이 지나는 단위정사각형의
    수는 n + m - 1 개이다

  3. 가로나 세로가 공약수로 나누어진 횟수만큼 n + m -1 을 곱해준다

입력값 〉 8, 12
기댓값 〉 80

def solution(w,h):
    answer = 0
    tmpw = w
    tmph = h
    # tmpw, tmph의 최소공배수 구하는 식
    # 유클리드 호제법(공약수를 구한다)
    while(tmpw>0):
        tmp = tmpw
        tmpw = tmph%tmpw
        tmph = tmp
    print(tmph)
    # 유클리드 호제법 끝
    
    answer = w*h-(w/tmph+h/tmph-1)*tmph
    
    return answer

Leave a comment