<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://nuriwiki.net/index.php?action=history&amp;feed=atom&amp;title=%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95</id>
	<title>유클리드 호제법 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://nuriwiki.net/index.php?action=history&amp;feed=atom&amp;title=%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95"/>
	<link rel="alternate" type="text/html" href="https://nuriwiki.net/index.php?title=%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95&amp;action=history"/>
	<updated>2026-07-19T03:50:41Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://nuriwiki.net/index.php?title=%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95&amp;diff=4435&amp;oldid=prev</id>
		<title>ProtArie: 새 문서: &#039;&#039;&#039;유클리드 호제법&#039;&#039;&#039;(Euclidean algorithm)이란 주어진 두 수의 최대공약수를 구하는 알고리즘으로, 다음 성질에 기초한다: \[a=bq+r \quad\Lon...</title>
		<link rel="alternate" type="text/html" href="https://nuriwiki.net/index.php?title=%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95&amp;diff=4435&amp;oldid=prev"/>
		<updated>2013-09-24T10:07:35Z</updated>

		<summary type="html">&lt;p&gt;새 문서: &amp;#039;&amp;#039;&amp;#039;유클리드 호제법&amp;#039;&amp;#039;&amp;#039;(Euclidean algorithm)이란 주어진 두 수의 &lt;a href=&quot;/index.php?title=%EC%B5%9C%EB%8C%80%EA%B3%B5%EC%95%BD%EC%88%98&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;최대공약수 (없는 문서)&quot;&gt;최대공약수&lt;/a&gt;를 구하는 &lt;a href=&quot;/index.php?title=%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;알고리즘 (없는 문서)&quot;&gt;알고리즘&lt;/a&gt;으로, 다음 성질에 기초한다: \[a=bq+r \quad\Lon...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;유클리드 호제법&amp;#039;&amp;#039;&amp;#039;(Euclidean algorithm)이란 주어진 두 수의 [[최대공약수]]를 구하는 [[알고리즘]]으로, 다음 성질에 기초한다: \[a=bq+r \quad\Longrightarrow\quad (a,b)=(b,r).\]&lt;br /&gt;
&lt;br /&gt;
여기서 \((a,b)\)는 \(a\)와 \(b\)의 최대공약수를 뜻한다. 다시 말해, 두 수의 최대공약수는 두 수중 큰 수를 피제수로 하고 작은 수를 제수로 하여 구한 나머지와, 제수의 최대공약수와 같다는 것이다. &lt;br /&gt;
&lt;br /&gt;
== 증명 ==&lt;br /&gt;
\(a=bq+r\)이라고 하자. 만약 \((a,b)=d\)이고, \(a=md\), \(b=nd\)라고 두면, \(md=ndq+r\)이라고 할 수 있다. 즉, \(r=md−ndq=(m−nq)d\)가 되어 \(d\)는 \(r\)의 [[약수]]이다. &lt;br /&gt;
&lt;br /&gt;
이제 \(d=(b,r)\)임을 증명하자. \(d\)는 \(b\)와 \(r\)의 공약수이고 \(r\)은 \(a\)를 \(b=nd\)로 나눈 나머지였으므로, 어떤 [[자연수]] \(k&amp;lt;n\)가 존재하여 \((b,r)=kd\)이다. &lt;br /&gt;
&lt;br /&gt;
다시 쓰면, \(n=n′k\)를 만족하는 \(n′\)에 의해 \(b=n′kd\)이고, 적절한 자연수 \(t\)에 의해 \(r=(m−nq)d=tkd\)이다. 이것을 처음 식에 넣으면 다음을 얻는다. \[a=n′kdq+tkd=(n′q+t)kd.\] 즉, \(a\)또한 \(kd\)의 배수가 되므로, \((a,b)=d\)이라는 가정에 의해 \(k=1\)이다. 그러므로 \((b,r)=d\)이다. &lt;br /&gt;
&lt;br /&gt;
== 유클리드 호제법의 사용 ==&lt;br /&gt;
예를 들어, 252와 198의 최대공약수를 구해보자. \[\begin{eqnarray*} (252,198) &amp;amp;=&amp;amp; (198,54) &amp;amp; \leftarrow 252=198⋅1+54. \\&lt;br /&gt;
&amp;amp;=&amp;amp; (54,36) &amp;amp; \leftarrow 198=54⋅3+36. \\&lt;br /&gt;
&amp;amp;=&amp;amp; (36,18) &amp;amp; \leftarrow 54=36⋅1+18. \\&lt;br /&gt;
&amp;amp;=&amp;amp; (18,0) &amp;amp; \leftarrow 36=18⋅2+0. \\&lt;br /&gt;
&amp;amp;=&amp;amp; 18. &amp;amp; \end{eqnarray*}\] 위처럼 두 수중 큰 수를 작은 수로 나눈 것의 나머지를 반복적으로 구하는 것으로 두 수의 최대공약수를 쉽게 구할 수 있다. &lt;br /&gt;
&lt;br /&gt;
== 프로그래밍 코드 ==&lt;br /&gt;
=== 프롤로그(Prolog) 코드 ===&lt;br /&gt;
다음은 [[프롤로그]]로 표현한 유클리드 호제법이다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font face=&amp;quot;Fixedsys&amp;quot;&amp;gt;gcd(X,0,R) :- R is X, !.&amp;lt;br/&amp;gt;&lt;br /&gt;
gcd(X,Y,Rr) :- R is X mod Y, gcd(Y,R,Rr).&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
위 코드를 컨설트하고 &amp;#039;&amp;#039;&amp;#039;gcd(&amp;#039;수&amp;#039;, &amp;#039;수&amp;#039;, R).&amp;#039;&amp;#039;&amp;#039;을 명령하면 &amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;에 두 수의 최대공약수를 출력해준다. 단, 앞쪽에 있는 수가 더 커야한다. &lt;br /&gt;
&lt;br /&gt;
== 같이 보기 ==&lt;br /&gt;
* [[유클리드]](Euclid) &lt;br /&gt;
* [[나눗셈]]&lt;br /&gt;
&lt;br /&gt;
[[분류:수학]]&lt;br /&gt;
[[분류:수론]]&lt;/div&gt;</summary>
		<author><name>ProtArie</name></author>
	</entry>
</feed>