반응형
수학적 이론은 여기로
1. 뺄셈을 이용한 구현
최악의 경우의 수: gcd(x, 1)
시간복잡도: \( log(max(a,b)) \)
int gcd(int a, int b)
{
if (a == b) return a;
if (a > b)
return gcd(a - b, b);
else
return gcd(a, b - a);
}
2. 나머지 연산자를 이용한 구현
시간복잡도: \( log(a + b) \)
int gcd(int a, int b)
{
if (a % b == 0) return b;
else gcd(b, a % b);
}반응형
'Algorithm' 카테고리의 다른 글
| 너비 우선 탐색 (BFS, Breadth First Search) (0) | 2025.01.27 |
|---|---|
| 최대공약수 구하기 (Binary Euclidean algorithm) (0) | 2025.01.11 |
| 인수분해 (에라토스테네스의 체) (0) | 2025.01.01 |
| 소수 찾기 (에라토스테네스의 체) (0) | 2025.01.01 |
| 약수의 개수 구하기 (0) | 2024.11.12 |