
рдпрд╣рд╛рдВ рд╣рдо рдХрдВрдкреНрдпреВрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рдХреБрдЫ рдкрд╣рд▓реБрдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЗ рдФрдЪрд┐рддреНрдп рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ .NET рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ obfuscator рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рдерд╛ - .NET рдХреЛрдб рдХреЛ рд╣реИрдХрд┐рдВрдЧ рд╕реЗ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдоред рдПрдХ рдФрд░ рдЕрдВрдзреЗрд░рд╛ рдкрдХреНрд╖ рд╣реИ: рд╡рд╛рдпрд░рд╕ рдФрд░ рдЕрдиреНрдп рдЦрд░рд╛рдм рдЪреАрдЬреЛрдВ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИрдВред
рдПрдореНрдпреБрд▓реЗрдЯрд░реНрд╕
рддреЛ, рдЖрдк рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрдкрд░ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рд╕рд╛рде рдЖрдПред рдХреЛрдб рдХреЛ рд╡рд┐рдШрдЯрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдпрд╣ рдХреЗрд╡рд▓ рдиреАрд▓реЗ рд░рдВрдЧ рд╕реЗ рдмрд╛рд╣рд░ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЗрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛: рдЬреАрдд! рд▓реЗрдХрд┐рди рдирд╣реАрдВред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдХреЛрдб рдХрд┐рд╕реА рдХреЗ рджреНрд╡рд╛рд░рд╛ ... рд╣рд╛рде рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╣реИрдХрд░ рдХреЛ рд╕рдордЭ рдореЗрдВ рдЖ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рдЖрдкрдиреЗ рдХреЛрдб рдХреЛ рдХреИрд╕реЗ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ рдФрд░ "рдЕрдирдЕрд╡рд░реЗрд▓рд┐рдВрдЧ" рд▓рд┐рдЦ рджрд┐рдпрд╛ред рдпрджрд┐ рдЖрдкрдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛рдлреА рдордЬрдмреВрдд рдерд╛, рддреЛ рд╣реИрдХрд░ рдХреЛ рдЕрдкрдирд╛ рдПрдореБрд▓реЗрдЯрд░ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ - рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЙрдкрд▓рдмреНрдз рдПрдореБрд▓реЗрдЯрд░ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣реИрдХрд┐рдВрдЧ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВред
рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реЗ рдпрд╣ рдЬреНрдЮрд╛рдд рд╣реИ рдХрд┐ рдХреЛрдИ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИ рдФрд░ рдХрднреА рднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдЬреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдпрд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛ - рддрдерд╛рдХрдерд┐рдд "рд╢рдЯрдбрд╛рдЙрди рдХреА рд╕рдорд╕реНрдпрд╛"ред рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╣реИрдХрд░ рдПрдореБрд▓реЗрдЯрд░ рдЬреЛ рдПрдХ рдУрдлрд╝реНрдлрд╝реБрд╕реЗрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЕрдирд╡реАрд▓ рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ "рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ" рдХрд░реЗрдЧрд╛: рдпрд╣ рдХреЛрдб рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдФрд░ рдореВрд▓реНрдп рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рд╢рд░реНрдд рд╢рд╛рдЦрд╛ рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдпрд╣ рдЕрдХреНрд╕рд░ рдпрд╣ рдорд╛рди рд▓реЗрдЧрд╛ рдХрд┐ рд╕рднреА рд╡рд┐рдХрд▓реНрдк рд╕рдВрднрд╡ рд╣реИрдВред рдХрд╛рд░реНрдпрдХреНрд░рдоред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдВ рд╕рдорд╛рдзрд╛рди рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддрд╛ рд╣реИ: рдЙрд▓рдЭрд╛ рд╣реБрдЖ рдХреЛрдб рдЙрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рд╕рдВрдХреНрд░рдордг рд╕реЗ рднрд░рд╛ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдФрд░ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛ред рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
if ((x+x & 1) == 0) good_code else
рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, "рд▓реЗрдХрд┐рди рдпрд╣ рдЙрди рдЪрд╛рд▓реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рд╣реИрдХрд░ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ," рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ, рдФрд░ рдЖрдк рд╕рд╣реА рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдЖрдк рдЗрдирдореЗрдВ рд╕реЗ рдПрдХ рд╣рдЬрд╛рд░ рдЯреНрд░рд┐рдХреНрд╕ рд▓реЗрдХрд░ рдЖрдПрдВ? рдУрд╣, рдпрд╣ рдирд┐рд░реНрдгрдп, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХрд╛ рдПрдХ рд╡рд┐рд░рд╛рд╕рдд рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЪрд╛рд▓ рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ, рджреВрд╕рд░реЛрдВ рдХреА рдЪрд╛рд▓ рдХреА рддрд░рд╣ рдирд╣реАрдВред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЖрдк рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХреЗ рд▓рд┐рдП рд╕реЛрдЪрддреЗ рд╣реИрдВ рдФрд░ рддреАрд╕ рдЪрд╛рд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЖрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рд╣реИрдХрд░ рдПрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рдФрд░ рд╕рднреА рддреАрд╕ рдЪрд╛рд▓реЗрдВ рдкрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рддреАрд╕ рдЗрддрдирд╛ рдирд╣реАрдВ рд╣реИред
рдХреЛрдб рдУрдлрд╝реНрдлрд╝реБрд╕реЗрд╢рди рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рд╢рд░реНрдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ "рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп" (рдореВрд▓ рд╢рдмреНрдж "рдЕрдкрд╛рд░рджрд░реНрд╢реА рд╡рд┐рдзреЗрдп") рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореИрдВ "рд╡рд┐рдзреЗрдп" рдФрд░ "рд╢рд░реНрдд" рд╢рдмреНрджреЛрдВ рдХреЛ рд╕рдорд╛рдирд╛рд░реНрдердХ рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред рдЗрд╕ рд╡рд┐рд╖рдп рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░, рдИрдорд╛рдирджрд╛рд░реА рд╕реЗ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдореВрд▓ рд▓реЗрдЦрдХ рдХреЛ рд▓реЛрдХрдЧреАрдд рдХреМрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдкрд░ рдХреБрдЫ рдкреНрд░рдореБрдЦ рд▓реЗрдЦ:
рдЖрджрд░реНрд╢ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдЬрдирд░реЗрдЯрд░
рд╣рдо рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдпрдХреЛрдВ рдХреЗ рдЖрджрд░реНрд╢ рд╕реБрдкрд░ рдЬрдирд░реЗрдЯрд░ рдХреА рддрд░рд╣ рдХреНрдпрд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ P, X1, x2, ..., xn рдХреЗ рдЖрдзрд╛рд░ рдкрд░ P (X1, x2, ..., xn) рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдЬреЗрдирд░реЗрдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкрд╣рдЪрд╛рди рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рд╣реА рдФрд░ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рд╛рдирджрд╛рд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
- рд╡рд┐рдзреЗрдп рд▓рдВрдмрд╛рдИ рд╕реЗ рд░реИрдЦрд┐рдХ рд╕рдордп рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ;
- рдПрдХ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо (рдЪреБрдкрдХреЗ) рд╕реЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзреЗрдп рдмрд╣реБрдд рд╕рдорд╛рди рд╣реИ;
- рд╡рд╣рд╛рдБ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ (!) рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рд╡рд┐рдзреЗрдп рд╣рдорд╛рд░реЗ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛;
- рд╡рд╣рд╛рдБ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ (!) рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо, рдЬреЛ рдЙрддреНрдкрдиреНрди рд╡рд┐рдзреЗрдп рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рд╣рдореЗрд╢рд╛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕рдЪ рд╣реИ рдпрд╛ рдЗрдирдкреБрдЯ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдЧрд▓рдд рд╣реИ;
- рдХреЛрдИ рднреА рд╕рдВрднрд╛рд╡реНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИ рдЬреЛ рдХрдо рд╕реЗ рдХрдо 80% рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ (рдЖрдВрдХрдбрд╝рд╛ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ рдкреНрд░рд╣рд╛рд░ рдХреА рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рдкрд╛рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХреНрдпрд╛ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╡рд┐рдзреЗрдп рдкрд╣рдЪрд╛рди рд╕рд╣реА рд╣реИред
рдЕрдм рд╣рдореЗрдВ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдРрд╕рд╛ рдХрдо рд╕реЗ рдХрдо рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред
рдмрд┐рдВрджреБ 4 рд╕рдВрднрд╡ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ ред рдЖрдкрдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛ рджреВрдВ рдХрд┐ рдбрд╛рдпреЛрдлреИрдВрдЯрд╛рдЗрди рд╕рдореАрдХрд░рдг рдлреЙрд░реНрдо f (X1, x2, ..., xn) = 0 рдХрд╛ рдПрдХ рд╕рдореАрдХрд░рдг рд╣реИ, рдЬрд╣рд╛рдВ f рдкреВрд░реНрдгрд╛рдВрдХ рдЧреБрдгрд╛рдВрдХ рд╡рд╛рд▓реЗ рдПрдХ рдмрд╣реБрдкрдж рд╣реИ, рдФрд░ x рдПрдХ рдЧреИрд░-рдирдХрд╛рд░рд╛рддреНрдордХ рдкреВрд░реНрдгрд╛рдВрдХ рд╣реИред рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдлрд┐рд░ рд╕реЗ рдЬрд┐рдХреНрд░ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рднреА рдбрд╛рдпреЛрдлреИрдВрдЯреАрди рд╕рдореАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреЛрдИ рд╕рдорд╛рдзрд╛рди рд╣реИ рдпрд╛ рдирд╣реАрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдлрд░реНрдореЗрдЯ рдХреЗ рдорд╣рд╛рди рдкреНрд░рдореЗрдп рджреНрд╡рд╛рд░рд╛, рдбрд╛рдпреЛрдлреИрдВрдЯрд╛рдЗрди рд╕рдореАрдХрд░рдг (x + 1) * (x + 1) * (x + 1) + (y + 1) * (y + 1) * (y + 1) - (z + 1) ) * (z + 1) * (z + 1) = 0 рдХрд╛ рдХреЛрдИ рд╣рд▓ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧ рд░рд╣рд╛ рдерд╛: рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП! рд▓реЗрдХрд┐рди рдЬрд▓реНрджреА рдордд рдХрд░реЛред рдбрд╛рдпреЛрдлреИрдВрдЯрд╛рдЗрди рд╕рдореАрдХрд░рдг 0 рд╕реЗ 4 рдмрд┐рд▓рд┐рдпрди рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдореНрд╕ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдкрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди 0 рд╕реЗ рдЕрдирдиреНрдд рддрдХ рдХреЗ рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдкреВрд░реНрдгрд╛рдВрдХ рдХреЗ рдпреЛрдЧ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред рдЖрдкрдХреЛ рддрдерд╛рдХрдерд┐рдд "рд▓рдВрдмреЗ рдЕрдВрдХрдЧрдгрд┐рдд" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╡реЗ рдХреЛрдб рдореЗрдВ рдмрд╣реБрдд рдЕрдЬреАрдм рд▓рдЧреЗрдВрдЧреЗред
рдмрд┐рдВрджреБ 2 рд╕рднреА рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд░рддрд╛ рд╣реИ ред рд╕рд╣рдЬ рдЬреНрдЮрд╛рди рдпреБрдХреНрдд рдЧреБрдкреНрдд рд╕реЗ рд╣рдорд╛рд░рд╛ рддрд╛рддреНрдкрд░реНрдп рдПрдХ рдРрд╕реЗ рд╡рд┐рдзреЗрдп рд╕реЗ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреА рднреАрдбрд╝ рдореЗрдВ рдЦрдбрд╝рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, "рдирд┐рд╣рд┐рдд" рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рд╕реЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рддрд╛ рд╣реИред рд╕реНрдорд╛рд░реНрдЯ рд▓реЛрдЧреЛрдВ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡рд┐рдзреЗрдп рдХрд╛рдлреА рд╕реАрдзреЗ рд╣реИрдВ: x == 0, x == y, x> 0, рдЖрджрд┐, рдЬрд╣рд╛рдВ x, y рдЕрдВрддрд░ рдЪрд░ рд╣реИрдВ (рдКрдкрд░ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдореЗрдВ) рд▓реЗрдЦ рдХреЗ рдареАрдХ рдКрдкрд░ рдХреЗ рдЪрддреБрд░ рд▓реЛрдЧ рдареЗрда рдЬрд╛рд╡рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реИрдВ)ред рдХрд┐рд╕реА рдХреЛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЪреЛрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рд╡рд┐рдзреЗрдп рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╣реИрдХрд░ рдмрд╕ рд╕рднреА "рдЕрдЬреАрдм" рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛ рднреА рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рдмрд┐рдВрджреБ 2 рдХреЗ рдХрд╛рд░рдг рдмрд┐рдВрджреБ 4 рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ ... рд╣рд╛рд▓рд╛рдВрдХрд┐ ред рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╡рд┐рдзреЗрдп рдЕрдВрдХрдЧрдгрд┐рдд рд╣реИ рдФрд░ рдпрд╣ "рдЫрд┐рдкрд╛ рд╣реБрдЖ" рд╣реИ, рддреЛ рдЗрд╕рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗрд╡рд▓ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рд╕рд╛рде рдЕрдВрдХрдЧрдгрд┐рдд рд╢рд╛рдорд┐рд▓ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рд╣реИ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╡рд┐рдзреЗрдп рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрддрд╛ рд╣реИ: рдпрд╣ рдЙрди рд╕рднреА рдореВрд▓реНрдпреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдЬреЛ рд╡рд┐рдзреЗрдп рдореЗрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡рд┐рдзреЗрдп рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ 4 рдмрд┐рд▓рд┐рдпрди рдорд╛рдиреЛрдВ рдХреЛ рдЫрд╛рдВрдЯрдирд╛ рд╣реЛрдЧрд╛! рдФрд░ рдЕрдЧрд░ рд╡рд┐рдзреЗрдп рдореЗрдВ рджреЛ рдЪрд░ рд╣реИрдВ? рдЗрд╕рд▓рд┐рдП рд╣рдо, рдЕрдЪреНрдЫреЗ рд╡рд┐рд╡реЗрдХ рдореЗрдВ, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдкреА <рдПрдирдкреА, рдЬрдирд░реЗрдЯрд░ рдХреА рдЪреМрдереА рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдХрдордЬреЛрд░ рдХрд░рддреЗ рд╣реИрдВ: рдЗрд╕ рддрдереНрдп рдХреЛ рдкреНрд░рдХрдЯ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд┐ рдЬрдирд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╡рд┐рдзреЗрдп рд╣рдореЗрд╢рд╛ рд╕рд╣реА рд╣реЛрддреА рд╣реИ, рдПрдирдкреА-рдкреВрд░реНрдг рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдкреА = рдПрдирдкреА, рддреЛ рдпрд╣ рднреА рд╢рд╛рдпрдж рд╣реА рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдЖрдк рд╢рд╛рдВрддрд┐ рд╕реЗ рд╕реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдореИрдВрдиреЗ 3-SAT рдХреЛ рдпрд╛рдж рдХрд┐рдпрд╛ - рдкреНрд░рд╕рд┐рджреНрдз рдПрдирдкреА-рдкреВрд░реНрдг рдХрд╛рд░реНрдп рдЬрд┐рд╕реЗ рд╕реНрд╡рдпрдВ рднрдЧрд╡рд╛рди рдиреЗ рдЗрд╕ рдХреНрд╖рдг рдореЗрдВ рдпрд╛рдж рдХрд░рдиреЗ рдХрд╛ рдЖрджреЗрд╢ рджрд┐рдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рд░реНрдЧ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рд╡рд┐рдзреЗрдп рд╢рд╛рдпрдж рд╣реА рдЫрд┐рдкреЗ рдХрд╣реЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рдо рд╕рдиреНрдирд╛рдЯреЗ рдореЗрдВ 1, 3 рдФрд░ 5 рд╕реЗ рдЕрдзрд┐рдХ рдЕрдВрдХреЛрдВ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ - рдПрдХ рдЫреЛрдЯреЗ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╢реНрди рднреА рдкрддрд▓рд╛ред
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл
рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╡рд┐рдзреЗрдп рд╕реЗ рд╣рдорд╛рд░рд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рдкреНрд░рдкрддреНрд░ f (X1, ..., xn) <g (X1, ... xn) рдпрд╛ f (X1, ..., xn) = g (X1, ..., xn) рдХреА рдкреВрд░реНрд╡рд╕реВрдЪрдирд╛рдУрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ Xs рдкреНрд░рдХрд╛рд░ рдХреЗ int рд╣реИрдВ, рдФрд░ рдПрдл рдФрд░ рдЬреА рд╕рд╛рдзрд╛рд░рдг рдЕрдВрдХрдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИрдВред рдПрдХ рд╡рд┐рдзреЗрдп рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдЕрдВрдХрдЧрдгрд┐рдд рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдирд╣реАрдВ, рдореБрдЭреЗ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдореИрдВ рдпрд╣ рднреА рдирд╣реАрдВ рдХрд╣рддрд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдкрд╛рда рдореЗрдВ рдореИрдВ рдЖрдкрдХреЛ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореБрдЭреЗ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдлрд┐рд░ рднреА, рдореИрдВ рдРрд╕реЗ рдХрд╛рд░рдг рджреВрдВрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреА рдУрд░ рд▓реЗ рдЧрдП рдХрд┐ рдЕрдВрдХрдЧрдгрд┐рдд рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рд╕рдмрд╕реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИред
рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдХреА рдорджрдж рд╕реЗ рд╕реНрдердЧрди рдХрд╛ рдПрдХ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл рдХреЛ рдмрд╛рдзрд┐рдд рдХрд░рдирд╛ред рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдЯреБрдХрдбрд╝рд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдУрдлрд┐рд╕рдХреЗрд╢рди рдЪрд░рдг рдореЗрдВ рд╣реИ рдФрд░ рдЬреЛ рд╣реИрдХрд░ рдХреЗ рдкрд╛рд╕ рд╣реИрдХрд┐рдВрдЧ рд╕реНрдЯреЗрдЬ рдкрд░ рдирд╣реАрдВ рд╣реИред рдКрдкрд░ рд╣рдордиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд░реВрдк рд╕реЗ рднреНрд░рдорд┐рдд рдХрд░рдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рд╕рдВрднрд╡ рд╣реИред
рдХреНрдпрд╛ рдПрдХ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╡рд┐рдзреЗрдп рдирд┐рд╣рд┐рдд рд╣реИ (рдЬреЛ рдХрд┐ рд╣рдореЗрд╢рд╛ рд╕рддреНрдп рд╣реЛрддрд╛ рд╣реИ)? рдпрд╣ рдПрдХ рдПрдирдкреА-рдкреВрд░реНрдг рд╕рдорд╕реНрдпрд╛ рд╣реИред рдпрд╣ рд╕реВрдЪрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рджрд┐рдП рдЧрдП рдмрд┐рдВрджреБ рдкрд░ рдХреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ? рдпрд╣ рдПрдХ рдмреЗрдХрд╛рд░ рд╕рдорд╕реНрдпрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд, рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рд╛рдорд╛рдиреНрдп рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╢рдЯрдбрд╛рдЙрди рд╕рдорд╕реНрдпрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╣реИред рдпрд╣ рдареАрдХ рд╣реИ: рдПрдирдкреА-рдкреВрд░реНрдг рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдШреБрд▓рдирд╢реАрд▓ рдмреЗрд╣рддрд░ рд╣реИред рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдЪрд╛рд░ рдКрдкрд░ рдЙрджреНрдзреГрдд рджреВрд╕рд░реЗ рд▓реЗрдЦ (Collberg, Clark, Low) рд╕реЗ рдЪрдордХрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЖрдЗрдП, рдПрдХ рдмрд╛рд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд░рди рдЧреНрд░рд╛рдлрд╝ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЕрджреГрд╢реНрдп рдХреЛрдб рдХреЛ рдмрд┐рдЦреЗрд░ рджреЗрдВрдЧреЗ, рд╕реНрдореГрддрд┐ рдореЗрдВ рдХрд╣реАрдВ рдирд┐рд░реНрдорд╛рдг рдФрд░ рд╕рдВрд╢реЛрдзрди рдХрд░реЗрдВрдЧреЗ рдмрд▓реНрдХрд┐ рдХреБрдЫ рдЧрддрд┐рд╢реАрд▓ рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд░рдЪрдирд╛ред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЧреЛрдЪрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдХреМрди рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╣рд╛рдБ рд╕реНрдореГрддрд┐ рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд┐рдпрд╛?
рдФрд░ рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд┐рдВрджреБ рдкрд░ рдкрддрд╛ рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╕рдВрд░рдЪрдирд╛ рдХреА рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рд╣рд┐рдд рд╕рдВрдХреЗрдд рдХреНрдпрд╛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕ рдЬреНрдЮрд╛рди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдХреЗ рддрд╣рдд рдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдФрд░ рдореГрдд рдХреЛрдб рдХреЛ рдЗрдВрдЬреЗрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдЫрд┐рдкреЗ рд╣реБрдП рдврд╛рдВрдЪреЗ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдирддреАрдЬрддрди, рд╣реИрдХрд░ рдХреЛ рдЕрдм рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рд╣рдорд╛рд░рд╛ рдЬреНрдЮрд╛рди рдирд╣реАрдВ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рд╡рд╣ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдШреБрд▓рдирд╢реАрд▓ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЦрд┐рд▓реМрдирд╛ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЧреНрд░рд╛рдл рдХреЗ рднрд╛рдЧ рдХреЛ рджреЗрдЦрдиреЗ рджреЗрдВ:

рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ, рд╣рдо рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рдмреЗрддрд╣рд╛рд╢рд╛ рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЪрд╛рд░-рдмрд╛рдЗрдЯ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЗрд╕ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪрдХ рд╣реЛрддрд╛ рд╣реИред P рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реЛрдиреЗ рджреЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рдПрдВ рдЦреАрдВрдЪреЗ рдЧрдП рдЯреБрдХрдбрд╝реЗ рдХреЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдкрд░ (* p) рдпрд╣ рд╣реЛрдиреЗ рдХреА рдЧрд╛рд░рдВрдЯреА рд╣реИред рдЧреНрд░рд╛рдл рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдпрджрд┐ рдкрд╣рд▓реЗ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдерд╛ рдХрд┐ * p == 1 рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЕрдм рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЯреБрдХрдбрд╝реЗ рдкрд░ рдПрдХ рдЧрд▓рдд рдзрд╛рд░рдгрд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдХрднреА-рдХрднреА рдЖрдХреГрддрд┐ рдХреЗ рдмрд╛рдИрдВ рдУрд░ * p == 7 рд╣реИред
рдпрд╣ рдПрдХ рдЕрдЪреНрдЫреА рд╡рд┐рдзрд┐ рд╣реИ рдФрд░ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╡рд┐рдзреЗрдп рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдмрдбрд╝рд╛ BUT рд╣реИ: рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╣реИрдХрд░ рдХреА рддрд░рд╣, рд╣рдо рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВред рдпрд╣ рд╕рдм рдбрд░рд╛рдиреЗ рд╡рд╛рд▓рд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм, рдХреЙрд▓рдмреИрдХ / рдкреНрд░рддрд┐рдирд┐рдзрд┐ рдФрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддрд░реАрдХреЗ рд╣реИрдВред рдФрд░ рдпрджрд┐ рдХреЛрдб рдореЗрдореЛрд░реА рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИ? рд╣рд╛рдВ, рдпрд╣ рднреА рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ .NET рдореЗрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл рдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред .NET рдореЗрдВ, рдХрдо рд╕реЗ рдХрдо, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд┐рдзрд┐ рдХреЗ рднреАрддрд░ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рдПрдХ рдЧреНрд░рд╛рдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдореЗрдВ рд╕реНрдореГрддрд┐ рдореЗрдВ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдирд┐рд░реНрдорд╛рдг рдХреЛ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЧреБрдкреНрдд рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЧреЛрдкрдиреАрдпрддрд╛, рдпрд╛ рдЗрд╕рдХреЗ рдЕрднрд╛рд╡ рдХреЗ рдХрд╛рд░рдг рд╣рдореЗрдВ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИред
рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдЕрдиреНрдп рд╡рд┐рдзрд┐рдпрд╛рдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рд╕рднреА (рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдХрд╛рди рдХреЗ рдХреЛрдиреЗ рд╕реЗ рд╕реБрдирд╛ рд╣реИ) рдкреВрд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдЧреНрд░рд╛рдл рд╕реЗ рдмрдВрдзреА рд╣реБрдИ рд╣реИрдВ рдФрд░ рдПрдХ рд╡рд┐рдзрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рднрд╛рд░реА рджрд┐рдЦрддреА рд╣реИрдВред рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╡рд┐рдзреЗрдп рдПрдХ рдФрд░ рдорд╛рдорд▓рд╛ рд╣реИред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдПрдХ рдЖрджрд░реНрд╢ рдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдЬрдирд░реЗрдЯрд░ рдореЗрдВ рдПрдХ рдФрд░ рдмрдбрд╝рд╛ рдкреНрд▓рд╕ рд╣реИ: рдЖрдкрдХреЗ рдЬрдирд░реЗрдЯрд░ рдХрд╛ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЧреБрдкреНрдд рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП! рд╣рдорд╛рд░рд╛ рдЬрдирд░реЗрдЯрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдХрд╛рдлреА рдЖрджрд░реНрд╢ рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╣рдо рдЕрднреА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕рднреА рд╡рд┐рд╡рд░рдгреЛрдВ рдХрд╛ рдЦреБрд▓рд╛рд╕рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЖрджрд░реНрд╢ рдЬрдирд░реЗрдЯрд░ рдХреЗ рдХрд░реАрдм рднреА рдХреЛрдИ рдирд╣реАрдВ рдорд┐рд▓рд╛ред рд╡рд┐рд╖рдп рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдФрд░ рдореБрдЭреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЗрд╕рдХреА рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдиреАрдЪреЗ рд╣рдорд╛рд░реЗ рдирд┐рд╣рд┐рдд рд╡рд┐рдзреЗрдп рдЬрдирд░реЗрдЯрд░ рдХреЗ рдХреБрдЫ рдкрд░рд┐рдгрд╛рдо рджрд┐рдП рдЧрдП рд╣реИрдВред рд╡рд┐рдзреЗрдп рдХреА рд╕реВрдЪреА рдХреЗ рдЖрд░рдВрднрд┐рдХ, рдордзреНрдп рдФрд░ рдЕрдВрдд рдХреЗ рдЕрдВрд╢ (3000 рдЯреБрдХрдбрд╝реЗ; рдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЪрд╛рд▓рди рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ # ~; * /%; + -; ""; &? ^;;; рд╕рднреА рдЕрдВрддрд░ рдЪрд░):
~x != x (x + x & 1) == 0 (x + -x & 1) == 0 ~x != x * 4u >> 2 (-x & 1) == (x & 1) ((-x ^ x) & 1) == 0 (x * 0x80 & 0x56) == 0 (x << 1 ^ 0x1765) != 0 ~(-x * 0x40) != x << 6 (~(x * 0x80) & 0x3d) == 0x3d x - 0x9d227fa9 != x - 0x699c945e (y ^ y - 0x35f5f4d2) != 0x42a26409 (x * 0x20000000 & 0x19a27923) == 0 (int)(y * 9u + y * 0xf7u >> 3) >= 0 (x * 4 & 8) == (x + x * 3 - 0x1fef9d8f & 8) (x | 0xffffdbe8) - 0x1baa != x || (x & 0x10) == 0x10 (x ^ 0x1145f) != 0 || (x | 0xfffeffff) == 0xffffffff (uint)x / 0x59d7e3 != 0x90298cf9 || (x * 3 + x & 3) == 0 ((uint)x % 0x38 + 0xe4df62c8 & 0x6d755e00) == 0x64554200 (x ^ 0x770363c6) != 0 || ((uint)x >> 0x19 ^ 0x926797eb) != 0 (uint)y / 0x2369af8 - 0x78400000 != (uint)x / 0x1f2ce * 0x10 (x & 0x8e3ef800) != 0x70641deb && (uint)x / 0x9388ea != 0x3ab6921c
рджрд┐рдорд┐рддреНрд░реА рдХреЛрд╕реЛрд▓реЛрдмреЛрд╡, Appfuscator рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред