문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 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함수로 최대공약수 구하기
-두 수의 절댓값을 곱한 뒤 최대공약수로 나눈 수가 두 수의 최소공배수가 됨
'2024 코딩테스트 스터디' 카테고리의 다른 글
[5주_7일차] 백준-1978 소수(Python) (0) | 2024.07.08 |
---|---|
[5주_5일차] 백준-17425 약수의 합(Python) (0) | 2024.07.06 |
[5주_4일차] 백준-17427 약수의 합2(Python) (0) | 2024.07.05 |
[5주_3일차] 프로그래머스-콜라츠 추측(Python) (0) | 2024.07.04 |
[5주_2일차] 프로그래머스-없는 숫자 더하기(Python) (0) | 2024.07.03 |