2018년 12월 31일 월요일

약수와 배수(4) 유클리드 호제법



  
유클리드 호제법
Euclidean algorithm


"나머지가 0 이 될 때, 최대공약수가 보여요"
" GCD will be found when the remainder becomes 0 "







유클리드의 호제법은 일반적으로 두 자연수 사이의 최대공약수를 찾아내는 알고리즘 기법입니다.

표준교과의 범위를 벗어 나는 내용입니다만소인수로 분해하는 방법보다 빠르고 편리하기 때문에 중, 상위 수준의 학생들이라면 알아 두면 아주 편리하고 빠르게 계산해 낼 수 있습니다.


두 자연수의 나눗셈을 하고 남은 나머지에는그 두 수의 최대공약수가 인수로 들어 있다는 원리를 활용하는 개념으로, 심화 수준의 문제 유형에서 그 원리나 응용 개념들이 종종 출제되므로보충 설명의 성격으로 게재합니다.

이 유클리드의 기법은 두 정수나 두 다항식의 경우에도 그대로 적용되니상위권 학생들은 개념과 원리를 정확히 이해하고응용력도 키워두면 좋습니다.






               






이번에는두 자연수를 소인수로 분해하지 않고도최대공약수를 쉽게 구해 낼 수 있는 '유클리드 호제법을 알아 보도록 할까요?



우선, 198 과 120 의 최대공약수를 유클리드 호제법으로 구하는 요령을 단계별로 설명한 다음에 그 원리를 알아 보도록 하지요.


(1) 큰 수를 작은 수로 나누어 몫과 나머지를 구한 후에아래와 같이 식으로 적어 놓습니다.

198 = 120 x 1 + 78


(2) 이번에는나누었던 수 120 을 나머지인 78 로 나누고 나서같은 방법으로 식을 적어 넣습니다.

120 = 78 x 1 + 42


(3) 같은 계산과정을 반복해서최종 나머지가 이 될 때까지 계속합니다.

78 = 42 x 1 + 36

42 = 36 x 1 + 6

36 = 6 x 6 + 0


(4) 나머지가 이 되었을 때의 나누는 수 (또는 그 직전 계산식의 나머지인 
     두 수의 최대공약수입니다.






그러면, 도대체 어떤 원리로 최대공약수라고 할 수 있는 것인지, 유클리드 호제법의 원리를 알아 보도록 할까요?



(1) 앞에서를 로 나누면식으로는 아래와 같이 표현한다고 배웠지요?

A = B Q + R



(2) 여기서A 와 의 최대공약수를 라고 하면A = G 그리고 B = b x G 라 놓을 수 있으니까위의 식에다 이를 대입을 하고 나서나머지 에 관해서 정리하면,

G = b Q + R

R = a – Q

= G x (– Q)


∴   R = x k



(3) 나머지 도 최대공약수 의 배수가 된다는 뜻이 됩니다.





2400 년 전에 유클리드가 발견한 이 의미를 식으로 정리해 볼까요?



 A = B Q + R 이라  A 최대공약수는나누는   나머지 
 최대공약수와 같다.

(AB) = (BR) 







위에서 풀어 보았던 똑같은 문제를 도형의 문제로 바꾸어서 살펴보도록 할까요?



 198 x 120  직사각형의 바닥을정사각형의 타일로 채우려고 한다최소의 타일을
 사용하려면정사각형 한변의 길이를 얼마로 해야 하는가?






(1) 유클리드 호제법을 정사각형들로 이루어진 도형으로 나타내면 아래의 그림과 같습니다.



(2) 위 그림에서 가장 큰 직사각형이 가로가 198, 세로가 120 인 바닥의 크기를 나타냅니다.
     따라서첫 번째의 빨간색 정사각형 한 변의 길이는 120 입니다.


(3) 이번에는 가로의 남는 변을 남은 길이인 78 의 파란색 정사각형으로 채워 나가고,
     다음은 남는 세로 길이인 42 의 초록색 정사가형으로 채우고 ...


(4) 이 과정을 계속해 나가면, 위의 그림에서와 같이 마지막으로 주황색의 가장 작은
     개의 정사각형으로 채워지게 됩니다이 때의 마지막 정사각형 한 변의 길이인
     이 최대공약수입니다.





마지막으로연습문제를 하나 풀어 보도록 할까요?


두 자연수 16082 와 4902 의 최대공약수를 구하여라.





두 수가 짝수라는 것 외에는쉽게 소인수를 찾아 분해해 내기가 어렵지요

이 때에는 [유클리드 호제법을 사용하면 쉽습니다.




(1) 큰 수 16082 를 4902 로 나눈다.

16082 = 4902 x 3 + 1376



(2) 유클리드 호제법의 원리에 따라(16082, 4902) = (4902, 1376) = ... 
     성립한다고 했으니까다시 4902 를 1376으로 나눈다.

4902 = 1376 x 3 + 774



(4) 나누어 떨어질 때까지같은 방법으로 계속해서 계산해 나가면,


1376 = 774 x 1 + 602

774 = 602 x 1 + 172

602 = 172 x 3 + 86

172 = 86 x 2 + 0



(5) 유클리드 호제법의 원리에 따라서최대공약수는 86.


(16082, 4902)

(4902, 1376)


(172, 86)

= 86






이 방법은 다항식들의 최대공약수(식)를 구할 때에도 사용됩니다.

뒤의 [다항식의 약수와 배수] 단원에서 공부하도록 합니다.








댓글 1개:

집합(4) 부분집합의 개수

부 분집합의 개수 number of subsets " 각 원소마다  포함 또는 배제의 경우로  나누어 생각하면 아주 쉬워요 " " count the outcomes whether each el...