[백준][파이썬] 13241번. 최소공배수

문제

https://www.acmicpc.net/problem/13241

 

풀이

두 수 a와 b의 최소공배수는 a와 b의 곱을 a와 b의 최대공약수로 나눈 것과 같다.
LCM(a, b) = (a * b) / GCD(a, b)

이때 a와 b의 최대공약수를 구하는 함수는 유클리드 호제법을 사용하여 구현하였다.

 

유클리드 호제법 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란

ko.wikipedia.org

A, B = map(int, input().split())

def GCD(a, b) :
  if a < b :
    a, b = b, a
  
  rem = 1
  while (rem != 0) :
    rem = a % b
    a, b = b, rem

  return a

print(int((A * B) / GCD(A, B)))
728x90