최대공약수 / 최소공배수

알고리즘

2020. 5. 1. 20:36

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