취준생의 코딩테스트 연습기

[백준] 2609번 최대공약수와 최소공배수 / 파이썬(python) 본문

코딩테스트/백준

[백준] 2609번 최대공약수와 최소공배수 / 파이썬(python)

Jiwon_C 2021. 3. 29. 19:53

# 문제 링크

www.acmicpc.net/problem/2609

 

2609번: 최대공약수와 최소공배수

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

www.acmicpc.net

# Soultion

유클리드 호제법을 이용하여 최대공약수(GCD)와 최소공배수(LCM)을 구한다.

GCD(a,b) = GCD(b, a%b) -> 두번째숫자가 0일때까지 진행하면 첫번째가 최대공약수가 된다.

LCM(a,b) = a*b//GCD(a,b)

1
2
3
4
5
6
7
8
9
10
11
a,b = map(int,input().split())
 
n1 = a
n2 = b
#gcd
while n2!=0:
    temp = n1
    n1 = n2
    n2 = temp%n2
print(n1)    
print(a*b//n1)
cs
 

 

Comments