알고리즘 정리 #1 - 최대공약수와 최소공배수
최대공약수(GCD, Gratest Common Divisor) 최대공약수란, 2개의 자연수의 공통된 약수 중에서 가장 큰 정수이다. 여기서 약수는 어떤 수를 나누었을 때 나누어 떨어지는 수이다. -> 6의 약수는 1, 2 ,3, 6이다. 만약 1과 자기 자신밖에 약수가 존재하지 않으면 '소수'이다. -> 7, 11 등등 따라서 두 자연수의 약수 중에 공통된 최댓값을 구하면 된다. -> 두 자연수 2와 4의 최대공약수(GCD)는 2이다.(2의 약수 1, 2와 4의 약수 1,2,4) 최대공약수를 구하는 여러 알고리즘 중에 유클리드 호제법(Euclidean Algorithm)이 가장 유명하다. 호제법 또는 연제법(連除法)은 두 수 A와 B가 있으면 서로의 수를 나누어가기를 반복하며 나머지가 0이 되었을 때의 ..