рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдкрд░рд┐рдЪрдп

рд╕рд╛рдорд╛рдиреНрдп рдЬреАрд╡рди рдореЗрдВ, рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕реНрдерд┐рддрд┐ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд░рд┐рдХреЙрд░реНрдб рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдЪрд░рд┐рддреНрд░ (рдЕрдВрдХ) рдХрд╛ рдореВрд▓реНрдп рдЙрд╕рдХреА рд╕реНрдерд┐рддрд┐ (рд░реИрдВрдХ) [1] рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рддрдерд╛рдХрдерд┐рдд "рдЧреИрд░-рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА" рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ "рдЕрд╡рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧ рдкреНрд░рдгрд╛рд▓реА" (рдЖрд░рдПрдирдПрд╕) (рдпрд╛ рдореВрд▓ рдЕрд╡рд╢реЗрд╖ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА (рдЖрд░рдПрдирдПрд╕)) рд╣реИ, рдЬреЛ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд рдХрд╛ рдЖрдзрд╛рд░ рд╣реИред рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд "рдЪреАрдиреА рд╢реЗрд╖ рдкреНрд░рдореЗрдп" [2] рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
рдХреЛрдкреНрд░рд╛рдЗрдо рд╕рдВрдЦреНрдпрд╛ рдкреА 1 , ... рдкреА рдПрди рдХреА рдХрд┐рд╕реА рднреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП, рд╕реАрдорд╛ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдПрдХреНрд╕ [0; рдПрдо), рдЬрд╣рд╛рдВ рдПрдо = рдкреА 1 * рдкреА 2 * ... * рдкреА рдПрди рд╡реЗрдХреНрдЯрд░-рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ-рд╕реЗ-рдПрдХ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ ( 1 , 2 , ..., рдПрдХ рдПрди ), рдЬрд╣рд╛рдВ рдПрдХ i = X% p i (рдЗрд╕рдХреЗ рдмрд╛рдж "%" -) рдПрдХреНрд╕ рдХреЗ рдкреВрд░реНрдгрд╛рдВрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╢реЗрд╖ рднрд╛рдЧ рдХреЛ рдкреА i рджреНрд╡рд╛рд░рд╛ рд▓реЗрдиреЗ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди)ред
рдкреА 1 , ... рдкреА рдПрди - рд╕рд┐рд╕реНрдЯрдо рдореЙрдбреНрдпреВрд▓
рдореЙрдбреНрдпреВрд▓ рдХреЗ рджрд┐рдП рдЧрдП рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рд╕рдВрдЦреНрдпрд╛ рдХрд╛ 1 , 2 , ..., n - рдЕрд╡рд╢реЗрд╖ (рдХрдЯреМрддреА)


рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреНрдпрд╛ рд▓рд╛рдн рджреЗ рд╕рдХрддреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, 2 рдЧреБрдг рд╣реИрдВ рдЬреЛ рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреЗ рдХреБрдЫ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХреЗ рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ:
  1. рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдЧреБрдгрд╛ рдореЗрдВ рдирд┐рд░реНрд╡рд╣рди рдХреЗ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХрд╛ рдЕрднрд╛рд╡ред рд╣рдореЗрдВ рджреЛ рдирдВрдмрд░ X 1 рдФрд░ X 2 рджрд┐рдП рдЧрдП рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкрд░рд╕реНрдкрд░ рд╕рд░рд▓ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЕрд╡рд╢реЗрд╖реЛрдВ (x 11 , x 12 , ..., x 1n ) рдФрд░ (x 21 , x 22 , ..., x 2n ) рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (p 1 , p) 2 , ..., рдкреА рдПрди )ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ:
    X 3 = X 1 + X 2 = ((x 11 + x 21 )% p 1 , (x 12 + x 22 )% p 2 , ..., (x 1n + x 2n )% p n )
    X 4 = X 1 * X 2 = ((x 11 * x 21 )% p 1 , (x 12 * x 22 )% p 2 , ..., (x 1n * x 2n )% p n )
    рдпрд╣реА рд╣реИ, рджреЛ рдирдВрдмрд░реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдпрд╛ рдЧреБрдгрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдЬреЛ рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЫреЛрдЯреЗ рдЖрдпрд╛рдореЛрдВ рдкреА 1 , рдкреА 2 , ..., рдкреА рдПрди рдХреЗ рдХрд╛рд░рдг рдмрд╣реБрдд рдЬрд▓реНрджреА рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  2. рд╡реЗрдХреНрдЯрд░ рдХреА рдПрдХ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╡реЗрдХреНрдЯрд░ рдХреА рдЕрдиреНрдп рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЧрдгрдирд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддреА рд╣реИред рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рдкрд░реАрдд, рд╡реЗрдХреНрдЯрд░ рдХреЗ рд╕рднреА рддрддреНрд╡ рд╕рдорддреБрд▓реНрдп рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗрд╡рд▓ рдЧрддрд┐рд╢реАрд▓ рд░реЗрдВрдЬ рдореЗрдВ рдХрдореА рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддреА рд╣реИред рдпрд╣ рддрдереНрдп рд╣рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╕рд╣рд┐рд╖реНрдгреБрддрд╛ рдФрд░ рддреНрд░реБрдЯрд┐ рд╕реБрдзрд╛рд░ рдХреЗ рд╕рд╛рде рдбрд┐рд╡рд╛рдЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рд╕рд╛рдзрд╛рд░рдг рдЧреБрдгрдирдореЙрдбреНрдпреВрд▓рд░ рдЧреБрдгрд╛

рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЙрддрдирд╛ рд╕рд╣рдЬ рдирд╣реАрдВ рд╣реИ рдЬрд┐рддрдирд╛ рд╣рдо рдЪрд╛рд╣реЗрдВрдЧреЗред рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╡рд┐рдкрд░реАрдд, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрдЪрд╛рд▓рди ("рдЧреИрд░-рдореЙрдбреНрдпреВрд▓рд░" рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИрдВ: рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛, рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдг, рд╡рд┐рднрд╛рдЬрди, рд╡рд░реНрдЧрдореВрд▓, рдЖрджрд┐ред рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореЗрдВ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдкрд╣рд▓реЗ рд╕рдлрд▓ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЛ 1950 рдХреЗ рджрд╢рдХ рдореЗрдВ рд╡рд╛рдкрд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЧреИрд░-рдореЙрдбреНрдпреВрд▓рд░ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХреЗ рдХрд╛рд░рдг, рдмреНрдпрд╛рдЬ рдХреБрдЫ рд╣рдж рддрдХ рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд рдлрд┐рд░ рд╕реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореЗрдВ рд▓реМрдЯ рд░рд╣рд╛ рд╣реИ:
  • рдореЛрдмрд╛рдЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ, рдЬрд┐рд╕рдореЗрдВ рдХрдо рдмрд┐рдЬрд▓реА рдХреА рдЦрдкрдд рдХреЗ рд╕рд╛рде рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЬреЛрдбрд╝ / рдЧреБрдгрд╛ рд╕рдВрдЪрд╛рд▓рди рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреА рдХрдореА рдКрд░реНрдЬрд╛ рдХреА рдЦрдкрдд рдХреЛ рдХрдо рдХрд░рддреА рд╣реИред
  • рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЪрд┐рдк рдкрд░ рддрддреНрд╡реЛрдВ рдХрд╛ рдмрдврд╝рддрд╛ рдШрдирддреНрд╡ рдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ; рдЗрд╕рд▓рд┐рдП, рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕реНрдерд┐рд░рддрд╛ рдХрд╛ рдорд╣рддреНрд╡ рдмрдврд╝ рд░рд╣рд╛ рд╣реИред
  • рд╡реИрдХреНрдЯрд░ рдкрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрджреНрднрд╡, рдЬрд┐рд╕рдореЗрдВ рдЙрдЪреНрдЪ рдЧрддрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдЬреЛрдбрд╝ рдФрд░ рдЧреБрдгрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреБрдгрди, рд╡реИрдХреНрдЯрд░ рдХреЗ рд╕реНрдХреЗрд▓рд░ рдЙрддреНрдкрд╛рдж, рдлреВрд░рд┐рдпрд░ рд░реВрдкрд╛рдВрддрд░рдг, рдЖрджрд┐) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ, рдХреНрд░рд┐рдкреНрдЯреЛрдЧреНрд░рд╛рдлреА, рдЗрдореЗрдЬ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ / рдСрдбрд┐рдпреЛ / рд╡реАрдбрд┐рдпреЛ рдЗрддреНрдпрд╛рджрд┐ред

рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрд╛рдВрддрд░рдг



рдЕрд╡рд╢рд┐рд╖реНрдЯ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд┐рддреАрдп рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА (рдЖрдорддреМрд░ рдкрд░ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рд░реВрдк рдореЗрдВ) рд╕реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╢реЗрд╖ рдХреЛ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред

рдЙрджрд╛рд╣рд░рдг : рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА (3, 5, 7) рд╕реЗ рд╕рдВрдЦреНрдпрд╛ X = 25 рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред X = (25% 3, 25% 5, 25% 7) = (1, 0, 4)ред

рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдорд╛рдЗрдХреНрд░реЛрдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдореЗрдВ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЧреБрдгреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
(a + b)% p = (a% p + b% p)% p
(рдП * рдмреА)% рдкреА = (рдПрдХ% рдкреА * рдмреА% рдкреА)% рдкреА

рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ X рдХреЛ X% p = (x n-1 * 2 n-1 + x n-2 * 2 n-2 + x 0 * 2 0 )% p = ((x n-1 )% p рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред * 2 n-1 % p) + ((x n-2 )% p * 2 n-2 % p) + ... + x 0 % p)% pред рдЪреВрдВрдХрд┐ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ x n-1 , ... x 0 0 рдпрд╛ 1 рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдореЗрдВ рдлреЙрд░реНрдо (2 i % p) рдХреЗ рдЕрд╡рд╢реЗрд╖реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг : рдирдВрдмрд░ 25 рдХреЛ рджрд┐рдпрд╛ рдЬрд╛рдП рдпрд╛ рдмрд╛рдЗрдирд░реА рдирдВрдмрд░ рд╕рд┐рд╕реНрдЯрдо 11001 рдореЗрдВ рдФрд░ рдЖрдк рд╢реЗрд╖ рдореЛрдбреБрд▓реЛ 7 рдХреЛ рдвреВрдВрдврдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
25% 7 = (1 * 2 4 + 1 * 2 3 + 0 * 2 2 + 0 * 1 + 1 * 2 0 )% 7 = (2 4 % 7 + 2 3 % 7 + 1% 7)% 7 = (реи + рез + рез)% 4 = рек

рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдореЙрдбреНрдпреВрд▓ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЪреБрдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 32-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореЙрдбреНрдпреВрд▓ рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдгрд╛рд▓реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ: (7, 11, 13, 17, 19, 23, 29, 31) - рд╡реЗ рд╕рднреА рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рдкрд╛рд░рд╕реНрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИрдВ, рдЙрдирдХрд╛ рдЙрддреНрдкрд╛рдж 6685349671: 4294967296 рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдирд╣реАрдВ рд╣реИ 5 рдмрд┐рдЯреНрд╕ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИ, рдЕрд░реНрдерд╛рдд 5-рдмрд┐рдЯ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдкрд░ рдЬреЛрдбрд╝ рдФрд░ рдЧреБрдгрд╛ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╡рд┐рд╢реЗрд╖ рдорд╣рддреНрд╡ рдХреЗ рд░реВрдк рдХреЗ рдореЙрдбреНрдпреВрд▓ рдХреА рдкреНрд░рдгрд╛рд▓реА рднреА рд╣реИ: (2 рдПрди -1, 2 рдПрди , 2 рдПрди +1) рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЙрдирдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рдФрд░ рдЙрд▓рдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред 2 рдПрди рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╢реЗрд╖ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП , рд╕рдВрдЦреНрдпрд╛ рдХреЗ рджреНрд╡рд┐рдЖрдзрд╛рд░реА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рдЕрдВрддрд┐рдо рдПрди рдЕрдВрдХ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди


рдЙрджрд╛рд╣рд░рдг : рдореЙрдбреНрдпреВрд▓ (3, 5, 7) рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рджреА рдЬрд╛рдП, рдЕрд░реНрдерд╛рдд рд╣рдо рдРрд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдкрд░рд┐рдгрд╛рдо 3 * 5 * 7 = 105 рд╕реЗ рдЕрдзрд┐рдХ рди рд╣реЛред рд╣рдо рджреЛ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ 8 рдФрд░ 10 рд╕реЗ рдЧреБрдгрд╛ рдХрд░рддреЗ рд╣реИрдВред
8 = (8% 3, 8% 5, 8% 7) = (2, 3, 1)
10 = (10% 3, 10% 5, 10% 7) = (1, 0, 3)
8 * 10 = ((2 * 1)% 3, (3 * 0)% 5, (1 * 3)% 7) = (2, 0, 3)
рдЪреЗрдХ
80 = (80% 3, 80% 5, 80% 7) = (2, 0, 3)

рдЙрд▓рдЯрд╛ рдкрд░рд┐рд╡рд░реНрддрди



рдЕрд╡рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рд╕реНрдерд┐рддрд┐рдЧрдд рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рд╡реНрдпреБрддреНрдХреНрд░рдо рдкрд░рд┐рд╡рд░реНрддрди рджреЛ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
  1. рдЪреАрдиреА рд╢реЗрд╖ рдкреНрд░рдореЗрдп рдпрд╛ рд░реВрдврд╝рд┐рд╡рд╛рджреА рдЖрдзрд╛рд░реЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░
  2. рдПрдХ рдмрд╣реБрдкрдж рдХреЛрдб (рдорд┐рд╢реНрд░рд┐рдд рдирд╛рдо-рдореВрд▓рд╛рдВрдХ рдкреНрд░рдгрд╛рд▓реА, рдорд┐рд╢реНрд░рд┐рдд рдЖрдзрд╛рд░ рдкреНрд░рдгрд╛рд▓реА) рдкрд░ рдЖрдзрд╛рд░рд┐рдд

рд╡рд┐рднрд┐рдиреНрди рддрд░реАрдХреЛрдВ рд╕реЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рд╣рд┐рддреНрдп, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрди рджреЛрдиреЛрдВ рдХрд╛ рдорд┐рд╢реНрд░рдг рд╣реИрдВред

рдЪреАрдиреА рд╢реЗрд╖ рдкреНрд░рдореЗрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдПрдХ рд╡рд┐рдзрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ:
X = (x 1 , x 2 , ... x n ) = (x 1 , 0, ..., 0) + (0, x 2 , ..., 0) + ... + (0, 0, ..., x n ) = x 1 * (1, 0, ..., 0) + x 2 * (0, 1, ..., 0) + ... + x n * (0, 0, ..., 1)ред
рдпрд╣реА рд╣реИ, рд╡реНрдпреБрддреНрдХреНрд░рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП, рдСрд░реНрдереЛрдЧреЛрдирд▓ рдЖрдзрд╛рд░реЛрдВ рдмреА 1 = (1, 0, ..., 0), рдмреА 2 = (0, 1, ..., 0), ..., рдмреАрдПрди = (0, 0, ..., 1) рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпреЗ рд╡реИрдХреНрдЯрд░ рдПрдХ рдмрд╛рд░ рджрд┐рдП рдЧрдП рдЖрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдирдХреА рдЦреЛрдЬ рдХреЗ рд▓рд┐рдП рдлреЙрд░реНрдо рдХреЗ рдПрдХ рд╕рдореАрдХрд░рдг рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ: (M i * b i )% p i = 1, рдЬрд╣рд╛рдВ M i = M / p i рдФрд░ b i рд╡рд╛рдВрдЫрд┐рдд рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕реНрдерд┐рддреАрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ B i = M i * b i рдФрд░
X = (x 1 * (M 1 * b 1 ) + x 2 * (M 2 * b 2 ) + ... + x n * (M n * b n ))% M

рдЙрджрд╛рд╣рд░рдг : рдореЙрдбреНрдпреВрд▓ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рджреА рдЬрд╛рдП (3, 5, 7), рд╣рдо рдПрдо рдЖрдИ рдФрд░ рдмреА рдЖрдИ (0 <i <= 3) рдХреЗ рдорд╛рди рдкрд╛рдПрдВрдЧреЗред
рдПрдо = 3 * 5 * 7 = 105
рдПрдо 1 = 105/3 = 35
рдПрдо 2 = 105/5 = 21
рдПрдо 3 = 105/7 = 15
(рейрел * рдм рез )% рей = рез => рдЦ рез = реи
(21 * рдмреА 2 )% 5 = 1 => рдмреА 2 = 1
(резрел * рдм рей )% 1 = рез => рдм рей = рез
рдЕрдм рд╣рдо рдЕрд╡рд╢рд┐рд╖реНрдЯ рд╡рд░реНрдЧреЛрдВ рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдХреБрдЫ рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдмрджрд▓ рджреЗрдВрдЧреЗред рд░рдЦрдирд╛
X = (2, 3, 1) = (2 * 35 * 2 + 3 * 21 * 1 + 1 * 15 * 1)% 105 = (140 + 63 + 15)% 105 = 218% 105 = 8

рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рдпрд╣ рд╣реИ рдХрд┐ рд╡реНрдпреБрддреНрдХреНрд░рдо рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛рдУрдВ (рдПрдо 1 , ..., рдПрдо рдПрди ) рдХреЗ рдЧреБрдгрди рдФрд░ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд╕рд╛рде рд╣реА рд╢реЗрд╖ рдореЙрдбреБрд▓реЛ рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд▓реЗрдиреЗ рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рднреА рд╣реЛрддрд╛ рд╣реИред

рдПрдХ рдмрд╣реБрдкрдж рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рдзрд┐ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ X рдХреЛ рдХреЛрдкреНрд░рд╛рдЗрдо рд╕рдВрдЦреНрдпрд╛ p 1 , ... p n , рдХреА рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: [4]:
X = рдПрдХ 1 + 2 * p 1 + a 3 * p 1 * p 2 + ... + a n-1 * p 1 * p 2 * ... * p n-2 + a n * p 1 * p 2 * ... * p n-1 , рдЬрд╣рд╛рдБ 0 <a i <p i
  • рдПрдХреНрд╕% рдкреА 1 = рдПрдХреНрд╕ 1 = рдП 1
  • (рдПрдХреНрд╕ - рдП рез )% рдкреА реи = (рдПрдХреНрд╕ реи - рдП рез )% рдкреА реи = (рдП реи * рдкреА рез )% рдкреА реи => рдП реи = ((рдкреА рез -1 )% рдкреА реи * (рдПрдХреНрд╕ реи) - рдПрдХ 1 ))% рдкреА 2
  • (рдПрдХреНрд╕ - рдПрдХ - рдПрдХ - реи * рдкреА рез )% рдкреА рей = (рдПрдХ рей * рдкреА рез * рдкреА реи )% рдкреА рей => рдП рей = ((рдкреА реи-рез )% рдкреА рей * ((рдкреА рез) - 1 )% рдкреА 3 * (рдПрдХреНрд╕ 3 - рдП 1 ) - рдПрдХ 2 ))% рдкреА 3
  • ...

рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреНрд░рдкрддреНрд░ (p i -1 )% p k -1 рдХреЗ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЖрдк рдпрд╣ рднреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ 1 рдХреЗ рдорд╛рди рдХреЗ рдкреНрд░рдХрдЯ рд╣реЛрддреЗ рд╣реА 3 рдХреА рдЧрдгрдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрдиреНрд╡реЗрдпрд░ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдмрдирд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрджрд╛рд╣рд░рдг : рдПрдХ рд╣реА рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ - рдореЙрдбреНрдпреВрд▓ рд╕рд┐рд╕реНрдЯрдо (3, 5, 7) рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ X = (2, 3, 1) рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░реЗрдВред
  • рдПрдХ 1 = x 1 = 2
  • рдПрдХ 2 = ((рдкреА 1 -1 )% рдкреА 2 * (рдПрдХреНрд╕ 2 - рдП 1 ))% рдкреА 2 = ((3 -1 )% 5 * (3 - 2))% 5 = 2 * 1 = 2
  • рдПрдХ 3 = ((рдкреА 2 -1 )% рдкреА 3 * ((рдкреА 1 -1 )% рдкреА 3 * (рдПрдХреНрд╕ 3 - рдП 1 ) - 2 рдП)% рдкреА 3 = ((5 -1 )% 7 * ((3 -1 )% 7 * (1 - 2) - 2))% 7 = (3 * (5 * (1-2) -2))% 7 = (3 * (- 7))% 7 = 0
  • X = рдПрдХ 1 + 2 * p 1 + a 3 * p 1 * p 2 = a 1 + 3 * a 2 + 15 * a 3 = 2 + 3 * 2 + 15 * 0 = 8

рдиреЛрдЯ : рдлреЙрд░реНрдо (3 -1 )% 5 рдХреА рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рдореАрдХрд░рдг (3 * x)% 5 = 1 рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬрд╣рд╛рдВ 0 <= x <5

рдкреБрдирд╢реНрдЪ


рд▓реЗрдЦ рдХреБрдЫ рдЧрдбрд╝рдмрдбрд╝ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╖рдп рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ рдФрд░ рдПрдХ рд▓реЗрдЦ рдореЗрдВ рд╕рдм рдХреБрдЫ рдлрд┐рдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдореЙрдбреНрдпреВрд▓рд░ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдкрд╣рд▓реБрдУрдВ рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред рд╣рдмрд░ рдкрд░, рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рд╖рдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рднреА рдирд╣реАрдВ рдорд┐рд▓рд╛, рдХреЗрд╡рд▓ рдЕрдиреНрдп рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╕рдВрджрд░реНрдн, рдЗрд╕рд▓рд┐рдП рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЫреЛрдЯреА рд╕рдореАрдХреНрд╖рд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдЧрдпрд╛ред рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рд╡рд┐рд╖рдп рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдореИрдВ рд╕рдВрджрд░реНрдн рдХреА рд╕реВрдЪреА (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рд╕реЗ рдкреБрд╕реНрддрдХ рд╕рдВрдЦреНрдпрд╛ [3] рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рдпрд╣ рдПрдХ рд╕реБрд▓рдн рднрд╛рд╖рд╛ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рд╛рд╣рд┐рддреНрдп


[рез] en.wikipedia.org/wiki/%D0%9F%D0%BE%D0%B7%D0%B8%D1%86%D0%B0%B8%D0%B0%BE%D0%DD%D0%BD%D0% B0% D1% 8F_% D1% 81% D0% B8% D1% 81% D1% 82% D0% B5% D5% BC0% D0% B0_% D1% 81% D1% 87% D0% B8% D8% 81% D0% BB% D0% B5% D0% BD% D0% B8% D1% 8F
[реи] en.wikipedia.org/wiki/%D0%9A%D0%B8%D1%82%D0%B0%B0%B9%D1%81%81%D0%BA%D0%D0%D1%8F_%D1%% 82% D0% B5% D0% BE% D1% 80% D0% B5% D0% BC% D0% B0_% D0% BE% D0% B1_% D0% BE% D1% 81% D1% 82% D1% B0% D1% 82% D0% BA% D0% B0% D1% 85
[рей] рдЕрдореЛрд╕ рдУрдореЛрдиреНрджреА, рдмреЗрдВрдЬрд╛рдорд┐рди рдкреНрд░реЗрдордХреБрдорд╛рд░, рдЕрд╡рд╢реЗрд╖ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА: рд╕рд┐рджреНрдзрд╛рдВрдд рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, реирежреж 2007ред
[рек] рдПрдордП рд╕реЛрджрд░рд╕реНрдЯреНрд░реИрдВрдб, рдбрдмреНрд▓реНрдпреВрдХреЗ рдЬреЗрдирдХреАрдВрд╕, рдЬреАрдП рдЬреБрд▓рд┐рдПрди рдФрд░ рдПрдлрдЬреЗ рдЯреЗрд▓рд░ред 1986. рдЕрд╡рд╢реЗрд╖ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдЕрдВрдХрдЧрдгрд┐рдд: рдбрд┐рдЬрд┐рдЯрд▓ рд╕рд┐рдЧреНрдирд▓ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдореЗрдВ рдЖрдзреБрдирд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ, IEEE рдкреНрд░реЗрд╕, рдиреНрдпреВрдпреЙрд░реНрдХред

Source: https://habr.com/ru/post/In144886/


All Articles