
[알고리즘] 최대공약수(GCD), 최소공배수(LCM), 유클리드 호제법
·
Computer Science/알고리즘
✅ 최대공약수(GCD)란?최대공약수(GCD, Greatest Common Divisor)는 두 수가 공통으로 갖는 약수들 중에서 가장 큰 값을 의미한다.예를 들어, 12와 18의 최대공약수를 찾아보자.12의 약수 : 1, 2, 3, 4, 6, 1218의 약수 : 1, 2, 3, 6, 9, 18이때, 공통된 약수는 1, 2, 3, 6이고 그 중 가장 큰 공통된 약수는 6이므로 12와 18의 최대공약수는 6이다. 보통 우리는 앞선 방법과 같이 약수 나열법으로 두 수의 약수를 모두 나열해서 공통된 최대값을 찾는다.하지만 코드로 구현할 때 두 수의 약수가 매우 많다면 일일이 찾아서 나열하면 많은 시간과 메모리를 필요로 한다.이에 '유클리드 호제법'을 사용하여 최대공약수를 구하는 것이 알고리즘을 구현하기 쉽다. ..