Processing math: 20%

II-eugene-II Note

Home Math Code
유클리드 호제법

유클리드 호제법 (유클리드 알고리즘 / Euclidean Algorithm) 은 다음과 같습니다.

두 양의 정수 a, b (ab), a=bq+r (0r<b)인 정수 q, r에 대하여 gcd 이다. (\gcd(a, 0) = a)
\gcd(a, b) 최대공약수 입니다.
즉, 유클리드 호제법은 최대공약수를 구하는 알고리즘 입니다.
유클리드 호제법 증명

g_{1} = \gcd(a, b), g_{2} = \gcd(b, r)이라 하면, 최대공약수의 성질에 의해 g_{1} \mid a, g_{1} \mid b이다.
a = bq + r에서, ag_{1}의 배수, bqg_{1}의 배수 (bg_{1}의 배수이므로) 이다. 따라서 rg_{1}의 배수이다. (-> g_{1} | r)
g_{1}b, r의 공약수이고, g_{2}b, r의 공약수 중 최대이므로 g_{1} \leq g_{2}이다.

알고리즘이라는 말이 붙은 것 처럼, 실제로 프로그래밍에서도 소개하는 주제입니다.
시간복잡도는 O(\ln n)인 것이 알려져 있습니다. (O(f(n)) 란다우 표기법 , \ln x 자연로그함수 )