반응형
밑의 링크는 백준에서의 문제 링크입니다.
파이썬 코드와 결과입니다.
# 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 함수에 대해서는 나중에 따로 한 번 정리하는 포스팅을 올려보겠습니다.
※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.
※ 더 효율적이고 빠른 정답을 환영합니다.
반응형
댓글