1) 반복문을 이용한 방법
int gcd(int a, int b)
{
int tmp;
int n;
if (a < b)
{
tmp = a;
a = b;
b = tmp;
}
while (b != 0)
{
n = a % b;
a = b;
b = n;
}
return a;
}
2) 재귀를 이용한 방법
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a%b);
}
재귀의 단점은 메모리를 많이 잡아먹는다는 것.
'알고리즘' 카테고리의 다른 글
백준 11724. 연결 요소의 개수 [실패] (0) | 2020.07.03 |
---|---|
카카오 인턴 코딩테스트 (0) | 2020.05.09 |