또 뭐하지

백준 2609번 최대공약수와 최소공배수 본문

Study/Coding Test

백준 2609번 최대공약수와 최소공배수

mameul 2024. 11. 1. 21:08
728x90

■ 제출코드

x, y = map(int, input().split())

for i in range(min(x,y),0,-1):
    if (x%i==0) and (y%i==0):
        print(i) # 최대공약수
        print(int((x*y)/i)) #최소공배수
        break

 

 

■ 유클리드 호제법 사용하여 최대공약수 구하는 코드

def gcd(a,b):
    if b == 0 :
        return a
    else:
        return gcd(b, a%b)

 

 


def divisor(x):
    div = []
    
    for i in range(x//2):
        if x % (i+1) == 0:
            div.append((i+1))
            div.append(int(x/(i+1)))
    
    return div

div1 = set(divisor(x))
div2 = set(divisor(y))

gcd = max(div1 & div2)

뻘짓하다가 런타임에러  뜬 코드.. 제발 공부를 하고 단순히 생각하자 (최소공배수 구하는 법도 까먹어서 하나씩 더해서 비교하는 코드 짜고 있는게 말이 되냐고;;)

'Study > Coding Test' 카테고리의 다른 글

백준 28702번 FizzBuzz  (0) 2024.11.11
백준 2775번 부녀회장이 될테야  (0) 2024.11.02
백준 1546번 평균  (1) 2024.10.31