코딩테스트 문제

[백준/Python] 최대공약수와 최소공배수

왕초보코딩러 2024. 9. 11. 22:58
728x90

https://www.acmicpc.net/problem/2609

 


재귀함수를 이용한다

 

최대공약수: (나누는 수, 나머지)
최소 공배수: 최대 공약수 * 몫 * 몫

# a가 더 큼
def gcd(a, b):
    if a%b == 0:
        return b # 작은 수
    return gcd(b, a%b)

a, b = map(int, input().split())

# a를 더 큰 값으로
if b>a:
    a, b = b, a
    
res = gcd(a, b)

# 최대공약수
print(res)
# 최소공배수
print(res * (a//res) * (b//res))

 

'코딩테스트 문제' 카테고리의 다른 글

[백준/Python] 무한 수열  (1) 2024.09.17
[백준/Python] 잃어버린 괄호  (1) 2024.09.11
[백준/Python] 균형 잡힌 세상  (0) 2024.09.09
[백준/Python] 소수 구하기  (0) 2024.09.09
[Python] 이진 탐색  (0) 2024.09.08