LCM
최소공배수(LCM, Least Common Multiple)는 두 개 이상의 정수의 공통 배수 중 가장 작은 수를 의미합니다.
LCM을 구하는 방법에는 여러 방법이 있지만, 가장 흔히 알려진 방법은 GCD를 이용하는 방법입니다.
GCD
[알고리즘] GCD - 유클리드 호제법
유클리드 호제법이란유클리드 호제법 또는 유클리드 알고리즘은 2개의 자연수 또는 정식의 최대공약수(Greatest Common Divisor, GCD)를 구하는 알고리즘입니다. 호제법이란 말은 두 수가 서로 상대방
tkxxls.tistory.com
LCM 알고리즘
두 수 a와 b의 최소 공배수 lcm(a, b)는 다음과 같이 계산됩니다
lcm(a, b) = a × b / gcd(a, b)
LCM 구현
int gcd(int a, int b) {
if (b == 0)
return a;
}
int lcm(int a, int b) {
return a * b / gcd(a, b);
}
LCM 시간복잡도
lcm의 시간복잡도는 gcd 시간복잡도에 의존합니다.
따라서 lcm의 시간복잡도는 log(min(a, b))입니다.
'CS > 알고리즘' 카테고리의 다른 글
[알고리즘] 라빈-카프 알고리즘 (0) | 2024.08.29 |
---|---|
[알고리즘] 다익스트라 (0) | 2024.07.31 |
[알고리즘] 오일러 피 (0) | 2024.06.26 |
[알고리즘] 소수 구하기 (0) | 2024.06.18 |
[알고리즘] GCD - 유클리드 호제법 (0) | 2024.06.12 |