[Baekjoon] 2609. 최대공약수와 최소공배수
문제 설명
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력 1
24 18
예제 출력 1
6
72
문제 풀이
# 최대공약수 # 최소공배수
math 모듈에 있는 gcd 함수를 사용하거나, 유클리드 호제법으로 직접 gcd 함수를 구현하면 됩니다.
from math import gcd
a,b = map(int, input().split())
print(gcd(a,b),a*b//gcd(a,b),sep='\n')
def gcd(a, b):
while b:
a, b = b, a%b
return a
a,b = map(int, input().split())
print(gcd(a,b),a*b//gcd(a,b),sep='\n')
Leave a comment