본문 바로가기

2024 코딩테스트 스터디

[5주_6일차] 백준-2609 최대공약수와 최소공배수(Python)

문제

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

입력

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

출력

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

 

 

 

<코드>

import sys
import math

input = sys.stdin.readline()
A = int(input.split()[0])
B = int(input.split()[1])

gcd = math.gcd(A, B)
lcm = abs(A * B) // gcd

print(gcd)
print(lcm)

 

<풀이과정>
-math라이브러리의 gcd함수로 최대공약수 구하기

-두 수의 절댓값을 곱한 뒤 최대공약수로 나눈 수가 두 수의 최소공배수가 됨