본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 2609번 : 최대공약수와 최소공배수

by 빛밤하늘 2021. 5. 31.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin
# gcd, lcm 함수를 사용하기 위해 import합니다.
from math import gcd, lcm

# 첫째 줄에 두 개의 자연수를 공백으로 구분해 입력합니다.
# 10,000 이하의 자연수입니다.
# 각각 정수형으로 변환합니다.
number1, number2 = map(int, stdin.readline().split(' '))

# gcd, lcm 함수를 이용해 최대공약수와 최소공배수를 출력 형식에 맞게 출력합니다.
print(gcd(number1, number2))
print(lcm(number1, number2))

결과

 

파이썬에는 math 모듈에 최대공약수를 구할 수 있는 gcd 함수, 최소공배수를 구할 수 있는 lcm 함수가 있습니다.

보통 최대공약수와 최소공배수를 구하라는 문제에서는 유클리드 호제법을 의도하는 문제가 대부분인데

이 문제도 맞았습니다 결과를 보고 나서 카테고리를 확인해보니 유클리드 호제법을 의도하는 문제였습니다.

 

예전에 유클리드 호제법을 통해 최대공약수와 최소공배수를 구해봤기 때문에 

이번에는 gcd, lcm 함수를 사용해서 훨씬 더 편리하게 결과를 내보았습니다.

 

유클리드 호제법과 gcd, lcm 함수에 대해서는 나중에 따로 한 번 정리하는 포스팅을 올려보겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글