GCD 1

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ - ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• Euclidean Algorithm

์ผ๋ฐ˜์ ์œผ๋กœ A์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ A์™€ B๋ฅผ 2๋ถ€ํ„ฐ A์™€ B์ค‘ ๋” ์ž‘์€ ์ˆ˜ ๊นŒ์ง€ ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋ฐฉ๋ฒ•์€ ์ˆ˜๊ฐ€ ์ปค์งˆ์ˆ˜๋ก ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ ค ๋น„ํšจ์œจ์ ์ด๋ฉฐ, ๋ชจ๋“  ์ˆ˜๋กœ ๋‚˜๋ˆ ์•ผ ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„๋ณต์žก๋„๋Š” O(n)์ด ๋œ๋‹ค. ์ด๋•Œ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• (Euclidean Algorithm) : ๋‘ ์ •์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(Greatest Common Divisor)๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ A > B ์ผ ๋•Œ1. A % B = C2. B % C = D3. ์œ„ ๊ณผ์ •์„ ๊ณ„์† ๋ฐ˜๋ณต4. X % Y = 0, Y๊ฐ€ A์™€ B์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•ด ๋ณด์ž ๋‘ ์ •์ˆ˜ A, B๋ฅผ ์ง์‚ฌ๊ฐํ˜•์˜ ๋‘ ๋ณ€์˜ ๊ธธ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ง์‚ฌ๊ฐํ˜•์„ ์ •์‚ฌ๊ฐํ˜•์œผ๋กœ ์™„์ „ํžˆ ์ฑ„์šฐ๋ ค๊ณ  ํ•  ๋•Œ ์ •์‚ฌ๊ฐํ˜•์˜ ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ..