Skip to content
CatBus
Go back

유클리드 호제법 (Euclidean algorithm)

유클리드 호제법은 2개의 자연수에 대해 최대공약수를 구하는 알고리즘이며 다음과 같은 성질을 통해 알고리즘을 진행한다.

a,b∈Za, b \in \mathbb{Z}이고 aa를 bb로 나눈 나머지를 rr이라 하자. (b≤a,0≤r≤bb \leq a, 0 \leq r \leq b)

a,ba, b의 최대 공약수를 (a,b)(a, b)라고 하면, 다음이 성립한다.

(a,b)=(b,r)(a, b)=(b, r)

출처: wikipidia

rr이 0이 될 때 알고리즘을 멈추며, 이 때의 bb가 최대공약수가 된다.

예를 들어 1460과 1037에 대해 알고리즘을 진행해보면 다음과 같다.

\begin{flalign*} (1460, 1037)\\=(1037, 323)\\=(323, 68)\\=(68, 52)\\=(52, 16)\\=(16, 4)\\=(4,0) \end{flalign*}

rr이 0일때 bb가 4이므로 1460과 1037의 최대공약수는 4이다.


Share this post:

비슷한 글

Euclidean이 글—

본문을 Xenova/multilingual-e5-small 로 임베딩하고, 그 벡터를 PCA 로 32축에 눌러 왼쪽 막대로 그렸습니다. 비슷한 글은 지문도 닮습니다 — 위아래를 견줘 보세요. 계산은 빌드 때 끝나고 벡터는 브라우저로 오지 않습니다.

Previous Post
[BOJ] 어린 왕자 - 1004 (S3)
Next Post
[BOJ] 링 - 3036 (S4)