728x90
반응형
https://www.acmicpc.net/problem/2609
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
예제 입력1
24 18
예제 출력1
6
72
# Code
a, b = map(int, input().split())
def gcd(a, b):
while b > 0:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
print(gcd(a, b))
print(lcm(a, b))
* 파이썬 math 모듈 이용 *
import math
a, b = map(int, input().split())
print(math.gcd(a, b))
print(math.lcm(a, b))
# Comment
유클리드 호제법을 이용
https://velog.io/@junyp1/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C-%ED%98%B8%EC%A0%9C%EB%B2%95
728x90
반응형
'백준 > 수학' 카테고리의 다른 글
[백준] #2581 소수 (python) (2) | 2022.03.04 |
---|---|
[백준] #1934 최소공배수 (python) (0) | 2022.03.01 |
[백준] #1110 더하기 사이클 (python) (0) | 2022.02.26 |
[백준] #2745 진법 변환 (python) (0) | 2022.02.26 |
[백준] #22864 피로도 (python) (0) | 2022.02.25 |
댓글