MCP рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ тЖТ

рдЧрдгрдирд╛ рджрд░реНрдЬ рдХрд░реЗрдВ

рд╕реВрддреНрд░ (рдлреЙрд░реНрдореВрд▓рд╛)

рд╡рд┐рдЬреНрдЮрд╛рдкрди

рдкрд░рд┐рдгрд╛рдо

рд╕рдмрд╕реЗ рдЫреЛрдЯрд╛ рдЕрдЛрдгрд╛рддреНрдордХ рд╣рд▓
8
x (mod 15)
рдЕрджреНрд╡рд┐рддреАрдп рд╣рд▓ рдореМрдЬреВрдж рд╣реИ Yes (mod 15)
рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛рдПрдБ 2
рд╡реНрдпрд╛рдкрдХ рд╣рд▓ x = 8 + 15k

рдЪреАрдиреА рд╢реЗрд╖рдлрд▓ рдкреНрд░рдореЗрдп рдХреНрдпрд╛ рд╣реИ?

рдЪреАрдиреА рд╢реЗрд╖рдлрд▓ рдкреНрд░рдореЗрдп (Chinese Remainder Theorem, CRT) рд╕рдВрдЦреНрдпрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рдкрд░рд┐рдгрд╛рдо рд╣реИред рдЗрд╕рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛рдУрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рд╣реИ тАФ \(x \equiv a_1 \pmod{m_1}\), \(x \equiv a_2 \pmod{m_2}\), тАж тАФ рдФрд░ рдЗрдирдХреЗ рд╕рднреА рдорд╛рдкрд╛рдВрдХ (moduli) рдЬреЛрдбрд╝реАрд╡рд╛рд░ рд╕рд╣рдЕрднрд╛рдЬреНрдп рд╣реЛрдВ (рдпрд╛рдиреА рдХрд┐рдиреНрд╣реАрдВ рджреЛ рдореЗрдВ рдХреЛрдИ рдЙрднрдпрдирд┐рд╖реНрда рдЧреБрдгрдирдЦрдВрдб рди рд╣реЛ), рддреЛ \(M = m_1 \cdot m_2 \cdot \ldots\) рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ \(x\) рдХрд╛ рдПрдХ рд╣реА рдЕрджреНрд╡рд┐рддреАрдп рд╣рд▓ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред рдпрд╣ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЙрд╕реА рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЕрдЛрдгрд╛рддреНрдордХ рд╣рд▓ рдХреЛ рдЦреЛрдЬ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред

рд╕рдВрдЦреНрдпрд╛ рд░реЗрдЦрд╛ рдЬреЛ рджреЛ рдЖрд╡рд░реНрддреА рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛ рд╢рд░реНрддреЛрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╣реА рдмрд┐рдВрджреБ рджрд┐рдЦрд╛рддреА рд╣реИ
CRT рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рднреА рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛рдУрдВ рдХреЛ рд╕рдВрддреБрд╖реНрдЯ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ mod M рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдорд╛рди рдЦреЛрдЬрддрд╛ рд╣реИред

рдЗрд╕ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ

рд╣рд░ рд╢реЗрд╖рдлрд▓ \(a_i\) рдХреЛ рдЙрд╕рдХреЗ рдорд╛рдкрд╛рдВрдХ \(m_i\) рдХреЗ рд╕рд╛рде рднрд░реЗрдВред рдЖрдк рджреЛ рдпрд╛ рддреАрди рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛рдУрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ тАФ рдпрджрд┐ рдХреЗрд╡рд▓ рджреЛ рд╣реА рдЪрд╛рд╣рд┐рдП, рддреЛ рддреАрд╕рд░реЗ рдорд╛рдкрд╛рдВрдХ рд╡рд╛рд▓рд╛ рдЦрд╛рдирд╛ рдЦрд╛рд▓реА рдЫреЛрдбрд╝ рджреЗрдВред рдпрд╣ рдЙрдкрдХрд░рдг рдкрд╣рд▓реЗ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдорд╛рдкрд╛рдВрдХ рдЬреЛрдбрд╝реАрд╡рд╛рд░ рд╕рд╣рдЕрднрд╛рдЬреНрдп рд╣реИрдВ рдпрд╛ рдирд╣реАрдВ, рдлрд┐рд░ \(x\) рдФрд░ рд╕рдВрдпреБрдХреНрдд рдорд╛рдкрд╛рдВрдХ \(M\) рджреЛрдиреЛрдВ рд▓реМрдЯрд╛рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ \(x + Mk\) (рдХрд┐рд╕реА рднреА рдкреВрд░реНрдгрд╛рдВрдХ \(k\) рдХреЗ рд▓рд┐рдП) рдХреЗ рд░реВрдк рдХрд╛ рд╣рд░ рдорд╛рди рднреА рдПрдХ рд╣рд▓ рд╣реЛрддрд╛ рд╣реИред

рд╕реВрддреНрд░ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛

рдорд╛рди рд▓реАрдЬрд┐рдП \(M = \prod m_i\)ред рд╣рд░ рд╕рд░реНрд╡рд╛рдВрдЧрд╕рдорддрд╛ рдХреЗ рд▓рд┐рдП \(M_i = M / m_i\) рдФрд░ \(y_i = M_i^{-1} \bmod m_i\) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ (\(y_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 (mod 12)ред рдЬрд╛рдБрдЪ рдХреАрдЬрд┐рдП: \(5 \bmod 3 = 2\) тЬУ рдФрд░ \(5 \bmod 4 = 1\) тЬУред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди

рдорд╛рдкрд╛рдВрдХреЛрдВ рдХрд╛ рд╕рд╣рдЕрднрд╛рдЬреНрдп рд╣реЛрдирд╛ рдХреНрдпреЛрдВ рдЬрд╝рд░реВрд░реА рд╣реИ? рдпрджрд┐ рджреЛ рдорд╛рдкрд╛рдВрдХреЛрдВ рдореЗрдВ рдХреЛрдИ рдЙрднрдпрдирд┐рд╖реНрда рдЧреБрдгрдирдЦрдВрдб рд╣реЛ, рддреЛ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдпрд╛ рддреЛ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рдпрд╛ рдЙрдирдХреЗ рд▓.рд╕. (lcm) рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдХрдИ рд╣рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ тАФ рдРрд╕реЗ рдореЗрдВ рдорд╛рдирдХ CRT рд╕реВрддреНрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ред

"рд╕рдмрд╕реЗ рдЫреЛрдЯреЗ рдЕрдЛрдгрд╛рддреНрдордХ рд╣рд▓" рдХрд╛ рдХреНрдпрд╛ рдЕрд░реНрде рд╣реИ? рд╕рднреА рд╣рд▓ рдЖрдкрд╕ рдореЗрдВ \(M\) рдХреЗ рдЧреБрдгрдЬреЛрдВ рдЬрд┐рддрдиреЗ рд╣реА рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ; рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╡рд╣ рд╣рд▓ рдмрддрд╛рддрд╛ рд╣реИ рдЬреЛ \(0\) рд╕реЗ \(M-1\) рдХреА рд╕реАрдорд╛ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рдЛрдгрд╛рддреНрдордХ рд╢реЗрд╖рдлрд▓ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ? рд╣рд╛рдБред рд╣рд▓ рдирд┐рдХрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрдиреНрд╣реЗрдВ рд╣рд░ \(m_i\) рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ \(0\) рд╕реЗ \(m_i-1\) рдХреА рд╕реАрдорд╛ рдореЗрдВ рдШрдЯрд╛ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЕрдВрддрд┐рдо рдЕрдкрдбреЗрдЯ: