최대공약수
-
[수학] 최대공약수(GCD), 최소공배수(LCM) 알고리즘Problem-Solving/Algorithm 2022. 5. 13. 15:20
🍀 목차 최대공약수, 최소공배수 알고리즘 기본 이해 구현(JavaScript) 시간 복잡도 최대공약수, 최소공배수 알고리즘 최대공약수(Greatest Common Divisor, GCD) : 두 수의 여러 공약수 중 최대인 수. 최소공배수(Least Common Multiple, LCM) : 두 수에 공통으로 존재하는 배수 중 가장 작은 수. A, B의 최대공약수를 구할 때 1부터 시작하여 Math.min(A, B)까지 A와 B가 나누어 떨어지는 최대의 수를 구하면 최대공약수를 구할 수 있지만 이 방법은 시간 복잡도가 O(n)이다. 그래서 최대공약수를 구할 때 유클리드 호제법을 쓴다. 두 수가 서로 상대방 수를 나누어서 결국 원하는 수를 얻는 알고리즘이다. 나눠가며(log) 구해가기 때문에 훨씬 효율적이..