daniel7481의 개발일지

[BOJ] 2609 최대공약수와 최소공배수 본문

BOJ

[BOJ] 2609 최대공약수와 최소공배수

daniel7481 2021. 12. 9. 17:37
반응형

문제

두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.

출력

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

풀이

수학 기본 문제 중 하나인 최대 공약수 최소 공배수를 구하는 문제이다. python에는 친절하게 math 모듈 안에 gcd매서드를 이용하면 간단하게 구현할 수 있다. gcd매서드는 gcd(x, y)에서 x와 y의 최대 공약수를 구하는 매서드이고, 최소 공배수를 구하려면 a랑 b를 곱하고 최대 공약수로 나눠주면 된다.

from math import gcd
a, b = map(int, input().split())
print(gcd(a, b))
print(a*b//gcd(a,b))
반응형

'BOJ' 카테고리의 다른 글

[BOJ] 2589 보물섬  (0) 2021.12.10
[BOJ] 13904 과제  (0) 2021.12.09
[BOJ] 15997 승부예측(카카오 코드 페스티벌 2018 A)  (0) 2021.12.08
[BOJ] 11559 Puyo Puyo  (0) 2021.12.07
[BOJ] 10830 행렬 제곱  (0) 2021.12.05