[Algorithm/Python] 파이썬 최대공약수와 최소공배수 구하기 ( 유클리드 호제법 )
Develop/Algorithm 2021. 3. 5. 03:29

문제 n, m 두 개의 자연수가 주어졌을 때, 최대공약수와 최소공배수를 구하기 풀이 math 모듈의 gcd 함수 사용하기 from math import gcd def lcm(a,b) : return a*b // gcd(a,b) print(gcd(n,m), lcm(n,m)) math 모듈의 gcd 함수를 사용한다면 바로 최대공약수를 알아낼 수 있다. 최소공배수는 [ 두 수의 곱 / 두 수의 최대공약수 ] 로 표현할 수 있다. 최소공배수를 구하는 것에 대해 이해가 잘 가지않아서 예시를 들어서 표현해보겠다. 이때, 최소공배수는 2*3 = 6 , 최대공약수는 2*3*4*3 = 72 가 나오게 된다. 최대공약수의 식에서 뒤에 있는 4와 3에 집중해야 한다. 4가 나온 경로를 보면 24 / 2 / 3 의 과정이고 ..