MCP๋กœ ์—ฐ๊ฒฐ โ†’

๊ณ„์‚ฐ ์ž…๋ ฅ

๊ณต์‹

๊ด‘๊ณ 

๊ฒฐ๊ณผ

๊ฐ€์žฅ ์ž‘์€ 0 ์ด์ƒ์˜ ํ•ด
8
x (mod 15)
์œ ์ผํ•œ ํ•ด๊ฐ€ ์กด์žฌํ•จ Yes (mod 15)
์‚ฌ์šฉ๋œ ํ•ฉ๋™์‹ 2
์ผ๋ฐ˜ํ•ด x = 8 + 15k

์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ๋ž€?

์ค‘๊ตญ์ธ์˜ ๋‚˜๋จธ์ง€ ์ •๋ฆฌ(CRT, Chinese Remainder Theorem)๋Š” ์ •์ˆ˜๋ก ์˜ ๊ณ ์ „์ ์ธ ์ •๋ฆฌ์ž…๋‹ˆ๋‹ค. \(x \equiv a_1 \pmod{m_1}\), \(x \equiv a_2 \pmod{m_2}\), โ€ฆ ์™€ ๊ฐ™์€ ์—ฐ๋ฆฝ ํ•ฉ๋™์‹์—์„œ ๊ฐ ๋ฒ•(modulus)๋“ค์ด ์„œ๋กœ์†Œ(pairwise coprime, ๊ณตํ†ต ์•ฝ์ˆ˜๊ฐ€ ์—†์Œ)๋ผ๋ฉด, \(M = m_1 \cdot m_2 \cdot \ldots\) ์„ ๋ฒ•์œผ๋กœ ํ•˜๋Š” ์œ ์ผํ•œ ํ•ด \(x\)๊ฐ€ ์กด์žฌํ•œ๋‹ค๋Š” ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ด ๊ณ„์‚ฐ๊ธฐ๋Š” ๊ทธ ๊ฐ€์žฅ ์ž‘์€ 0 ์ด์ƒ์˜ ํ•ด๋ฅผ ์ฐพ์•„ ์ค๋‹ˆ๋‹ค.

๋‘ ๊ฐœ์˜ ์ฃผ๊ธฐ์  ํ•ฉ๋™ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋‹จ์ผ ์ ์„ ๋ณด์—ฌ์ฃผ๋Š” ์ˆ˜์ง์„ 
CRT๋Š” ๋ชจ๋“  ํ•ฉ๋™์‹์„ ๋™์‹œ์— ๋งŒ์กฑํ•˜๋Š” mod M์˜ ์œ ์ผํ•œ ๊ฐ’์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

๊ณ„์‚ฐ๊ธฐ ์‚ฌ์šฉ๋ฒ•

๊ฐ ๋‚˜๋จธ์ง€ \(a_i\)์™€ ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” ๋ฒ• \(m_i\)๋ฅผ ํ•จ๊ป˜ ์ž…๋ ฅํ•˜์„ธ์š”. ๋‘ ๊ฐœ ๋˜๋Š” ์„ธ ๊ฐœ์˜ ํ•ฉ๋™์‹์„ ํ’€ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‘ ๊ฐœ๋งŒ ํ•„์š”ํ•˜๋‹ค๋ฉด ์„ธ ๋ฒˆ์งธ ๋ฒ•์€ ๋น„์›Œ ๋‘๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๊ณ„์‚ฐ๊ธฐ๋Š” ์ž…๋ ฅํ•œ ๋ฒ•๋“ค์ด ์„œ๋กœ์†Œ์ธ์ง€ ๋จผ์ € ํ™•์ธํ•œ ๋’ค ํ•ด \(x\)์™€ ๊ฒฐํ•ฉ๋œ ๋ฒ• \(M\)์„ ๋Œ๋ ค์ค๋‹ˆ๋‹ค. ์ž„์˜์˜ ์ •์ˆ˜ \(k\)์— ๋Œ€ํ•ด \(x + Mk\) ํ˜•ํƒœ์˜ ๊ฐ’์€ ๋ชจ๋‘ ํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๊ณต์‹ ํ’€์ด

\(M = \prod_i m_i\) ๋ผ๊ณ  ํ•ฉ์‹œ๋‹ค. ๊ฐ ํ•ฉ๋™์‹๋งˆ๋‹ค \(M_i = M / m_i\) ์™€ \(y_i = M_i^{-1} \bmod m_i\) (ํ™•์žฅ ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์œผ๋กœ ๊ตฌํ•˜๋Š” ๋ชจ๋“ˆ๋Ÿฌ ์—ญ์›)๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ํ•ด๋Š” ๊ฐ€์ค‘ํ•ฉ $$x \equiv \sum_i a_i\,M_i\,y_i \pmod{M}$$ ๋กœ ํ‘œํ˜„๋ฉ๋‹ˆ๋‹ค. \(M_i\)๋Š” \(m_i\)๋ฅผ ์ œ์™ธํ•œ ๋ชจ๋“  ๋ฒ•์œผ๋กœ ๋‚˜๋ˆ„์–ด๋–จ์–ด์ง€๋ฏ€๋กœ, ๊ฐ ํ•ญ์€ ์ž๊ธฐ ์ž์‹ ์˜ ํ•ฉ๋™์‹์—๋งŒ ์˜ฌ๋ฐ”๋ฅธ ๋‚˜๋จธ์ง€๋ฅผ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค.

CRT ๊ณต์‹์„ M, M_i, y_i ์š”์†Œ๋กœ ๋ถ„ํ•ดํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ
๊ฐ ํ•ฉ๋™์‹์€ \(a_i M_i y_i\) ํ•ญ์„ ๊ธฐ์—ฌํ•˜๋ฉฐ, ์ด๋ฅผ ๋”ํ•œ ๋’ค mod M์œผ๋กœ ์ค„์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ ํ’€์ด

\(x \equiv 2 \pmod{3}\) ์™€ \(x \equiv 1 \pmod{4}\) ๋ฅผ ํ’€์–ด ๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์„œ \(M = 3 \cdot 4 = 12\) ์ž…๋‹ˆ๋‹ค. \(M_1 = 4\) ์ด๊ณ  \(4 \equiv 1 \pmod{3}\) ์ด๋ฏ€๋กœ \(y_1 = 1\); \(M_2 = 3\) ์ด๊ณ  \(3 \equiv 3 \pmod{4}\) ์ด๋ฏ€๋กœ \(y_2 = 3\) (\(3 \cdot 3 = 9 \equiv 1\) ์ด๊ธฐ ๋•Œ๋ฌธ) ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ $$x = 2 \cdot 4 \cdot 1 + 1 \cdot 3 \cdot 3 = 8 + 9 = 17 \equiv 5 \pmod{12}$$ ์ž…๋‹ˆ๋‹ค. ํ™•์ธ: \(5 \bmod 3 = 2\) โœ“, \(5 \bmod 4 = 1\) โœ“.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

๋ฒ•๋“ค์ด ์™œ ์„œ๋กœ์†Œ์—ฌ์•ผ ํ•˜๋‚˜์š”? ๋‘ ๋ฒ•์ด ๊ณตํ†ต ์•ฝ์ˆ˜๋ฅผ ๊ฐ€์ง€๋ฉด, ๊ทธ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜(lcm)๋ฅผ ๋ฒ•์œผ๋กœ ํ•  ๋•Œ ํ•ด๊ฐ€ ์—†๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์ผ ์ˆ˜ ์žˆ์–ด ํ‘œ์ค€ CRT ๊ณต์‹์ด ๋” ์ด์ƒ ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

"๊ฐ€์žฅ ์ž‘์€ 0 ์ด์ƒ์˜ ํ•ด"๋ž€ ๋ฌด์Šจ ๋œป์ธ๊ฐ€์š”? ๋ชจ๋“  ํ•ด๋Š” \(M\)์˜ ๋ฐฐ์ˆ˜๋งŒํผ ์ฐจ์ด๊ฐ€ ๋‚ฉ๋‹ˆ๋‹ค. ๊ณ„์‚ฐ๊ธฐ๋Š” ๊ทธ์ค‘ 0๋ถ€ํ„ฐ \(M-1\) ์‚ฌ์ด์— ์žˆ๋Š” ๊ฐ’์„ ์•Œ๋ ค ์ค๋‹ˆ๋‹ค.

์Œ์ˆ˜ ๋‚˜๋จธ์ง€๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๋„ค, ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ’€์ด ์ „์— ๊ฐ \(m_i\)๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ 0๋ถ€ํ„ฐ \(m_i-1\) ๋ฒ”์œ„๋กœ ํ™˜์‚ฐํ•ด ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ตœ์ข… ์—…๋ฐ์ดํŠธ: