Math_04_최대공약수와 최소공배수(2609)
Math04최대공약수와 최소공배수(2609)
문제
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
출력
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.
첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.
풀이
세가지 방법이 있다
- (시간초과)
-2. math 라이브러리에서 gcm함수와 (최대공약수) & lcm함수 (최소공배수) 사용
- 유클리드 호재법
: 유클리드 호제법이란 x,y의 최대공약수는 y,r의 최대공약수와 같다는 원리를 이용한 것이다
(x%y = r)
x와 y의 최대 공약수 == y와 r 의 최대공약수
코드
import sys
sys.stdin = open("input.txt","rt")
import math
def input():
return sys.stdin.readline().rstrip()
a, b = map(int,input().split())
# 최대 공약수 구하기
print(math.gcd(a,b))
# 최소 공배수 구하기
print(math.lcm(a,b))
배운 것
marh 라이브러리에 최대 공약수와 최고 공배수를 구하는 함수가 있구나
코멘트
Author And Source
이 문제에 관하여(Math_04_최대공약수와 최소공배수(2609)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@angel_eugnen/Math305최대공약수와-최소공배수2609저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)