{"id":500135,"date":"2026-10-24T21:38:34","date_gmt":"2026-10-24T18:38:34","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=500135"},"modified":"2026-10-24T21:38:34","modified_gmt":"2026-10-24T18:38:34","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=500135","title":{"rendered":"\u041a\u0440\u0438\u043f\u0442\u043e\u0445\u0435\u0448: \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435\u043b\u044c\u0437\u044f \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0423 \u0432\u0430\u0441 \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0430\u0439\u043d\u0435\u0440\u044b \u0442\u0440\u0430\u0442\u044f\u0442 \u0443\u0439\u043c\u0443 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0430 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0445\u0435\u0448\u0435\u0439, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438? \u0412\u0435\u0434\u044c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b \u2013 \u0432 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e? \u0413\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043e\u043a\u0440\u044b\u0442\u0430 \u043c\u0430\u0433\u0438\u044f?<\/p>\n<p>\u042d\u0442\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043d\u0430 \u043f\u0430\u043b\u044c\u0446\u0430\u0445, \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (+) \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 (*), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f (\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438) \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0422\u0430\u043a\u0443\u044e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0447\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438), \u0430 \u043d\u0430\u0439\u0442\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 <em>\u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0447\u0438\u0441\u043b\u043e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0441\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0445\u0435\u0448<\/em>.<\/p>\n<blockquote>\n<p><strong>\u041d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f<\/strong> \u2013 \u044d\u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043b\u0435\u0433\u043a\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432 \u043f\u0440\u044f\u043c\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443.<\/p>\n<\/blockquote>\n<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <code>x<\/code>. \u041c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 <code>f<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <code>y<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"y = f(x)\" alt=\"y = f(x)\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fd\/fd9\/fd91c508f91c2c84498680bd337c1d7a.svg\" width=\"67\" height=\"18\" data-width=\"8.424\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 8.424ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fd\/fd9\/fd91c508f91c2c84498680bd337c1d7a.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/f\/fd\/fd9\/fd91c508f91c2c84498680bd337c1d7a.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041c\u044b \u0437\u043d\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 <code>y<\/code> \u0438 \u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f <code>f<\/code> (\u0435\u0451 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0442\u043a\u0440\u044b\u0442). \u0427\u0442\u043e \u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c <code>x<\/code>?<\/p>\n<p>\u041f\u0440\u0438\u0447\u0451\u043c \u043d\u0430\u043c \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>x<\/code>. \u041f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 <strong>\u043b\u044e\u0431\u043e\u0435 \u0447\u0438\u0441\u043b\u043e<\/strong>, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0441\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 <code>y<\/code>.<\/p>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e. \u0412\u0435\u0434\u044c \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u2013 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435: \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0435.<\/p>\n<p>\u0415\u0449\u0451 \u0441\u043e \u0448\u043a\u043e\u043b\u044b \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f.<\/p>\n<h4>\u041d\u0430\u0447\u043d\u0451\u043c \u0441\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h4>\n<p><img decoding=\"async\" class=\"formula\" source=\"x + 5 = 7\" alt=\"x + 5 = 7\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/af\/afa\/afa5c679b48cdffe7f9e31523c839c09.svg\" width=\"75\" height=\"14\" data-width=\"9.339\" data-height=\"1.715\" data-vertical-align=\"-0.186\" style=\"width: 9.339ex; height: 1.715ex; vertical-align: -0.186ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/af\/afa\/afa5c679b48cdffe7f9e31523c839c09.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/af\/afa\/afa5c679b48cdffe7f9e31523c839c09.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 <code>x<\/code>, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043f\u044f\u0442\u0451\u0440\u043a\u0443 \u0432 \u043f\u0440\u0430\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"x = 7 - 5 = 2\" alt=\"x = 7 - 5 = 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bfc\/bfc71e3f73567c68045605428706d3f4.svg\" width=\"108\" height=\"14\" data-width=\"13.488\" data-height=\"1.715\" data-vertical-align=\"-0.186\" style=\"width: 13.488ex; height: 1.715ex; vertical-align: -0.186ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bfc\/bfc71e3f73567c68045605428706d3f4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/b\/bf\/bfc\/bfc71e3f73567c68045605428706d3f4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<h4>\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c<\/h4>\n<p><img decoding=\"async\" class=\"formula\" source=\"x \\cdot 5 = 15\" alt=\"x \\cdot 5 = 15\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c1\/c1a\/c1aef5e73438b465e12e5f74d929c029.svg\" width=\"75\" height=\"18\" data-width=\"9.339\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 9.339ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c1\/c1a\/c1aef5e73438b465e12e5f74d929c029.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c1\/c1a\/c1aef5e73438b465e12e5f74d929c029.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0414\u0435\u043b\u0438\u043c \u043e\u0431\u0435 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430 \u043f\u044f\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"x = \\frac{15}{5} = 3\" alt=\"x = \\frac{15}{5} = 3\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7e\/7e8\/7e8b3308111cf73bff2d3574325a3481.svg\" width=\"94\" height=\"37\" data-width=\"11.717\" data-height=\"4.638\" data-vertical-align=\"-1.753\" style=\"width: 11.717ex; height: 4.638ex; vertical-align: -1.753ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7e\/7e8\/7e8b3308111cf73bff2d3574325a3481.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7e\/7e8\/7e8b3308111cf73bff2d3574325a3481.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<h4>\u041e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f<\/h4>\n<p>\u0415\u0449\u0451 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f <strong>\u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f<\/strong>, \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c <code>%<\/code>.<\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <code>17 % 5 = 2<\/code>. \u041c\u044b \u0434\u0435\u043b\u0438\u043c 17 \u043d\u0430 5, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 3 \u0438 \u043e\u0441\u0442\u0430\u0442\u043e\u043a 2. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.<\/p>\n<p>\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u0412\u0435\u0434\u044c \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043e\u0441\u0442\u0430\u0442\u043a\u0443 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u041d\u043e \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043d\u0430\u0448\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435: <strong>\u043d\u0430\u043c \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2013 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u043b\u044e\u0431\u043e\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u0430\u0441\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<\/strong><\/p>\n<p><strong>\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0432\u0437\u044f\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"x \\operatorname{mod} 5 = 2\" alt=\"x \\operatorname{mod} 5 = 2\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/06\/06c\/06c7f84571dedba9c4a0397352cc3266.svg\" width=\"93\" height=\"18\" data-width=\"11.602\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 11.602ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/06\/06c\/06c7f84571dedba9c4a0397352cc3266.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0\/06\/06c\/06c7f84571dedba9c4a0397352cc3266.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041a\u0430\u043a\u0438\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c <code>x<\/code>? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 2, 7, 12, 17, 22 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0412\u0441\u0435 \u044d\u0442\u0438 \u0447\u0438\u0441\u043b\u0430 \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 5 \u0434\u0430\u044e\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a 2.<\/p>\n<p>\u0418\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"x = 2 + 5 \\cdot k\" alt=\"x = 2 + 5 \\cdot k\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/a4\/a45\/a455b66c5db83ce67ae02d21260ba792.svg\" width=\"97\" height=\"18\" data-width=\"12.153\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 12.153ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/a4\/a45\/a455b66c5db83ce67ae02d21260ba792.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/a\/a4\/a45\/a455b66c5db83ce67ae02d21260ba792.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0433\u0434\u0435 <code>k<\/code> \u2013 \u043b\u044e\u0431\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e.<\/p>\n<p>\u0410 \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u044e\u0431\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c <code>k = 0<\/code> \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c <code><strong>x = 2<\/strong><\/code>.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u0437\u044f\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0430 \u0432 \u0441\u0442\u0440\u043e\u0433\u043e\u043c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435: \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u041d\u043e \u043d\u0430\u0439\u0442\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e.<\/p>\n<p><em>\u0418\u0442\u0430\u043a, \u0441\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0451 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e: \u0435\u0441\u043b\u0438 \u043a \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u043b\u0438, \u043c\u044b \u044d\u0442\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c. \u0415\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2013 \u0434\u0435\u043b\u0438\u043c. \u0414\u0430\u0436\u0435 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u044e\u0431\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442.<\/em><\/p>\n<p>\u0418 \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u0434\u0432\u0435, \u0430 \u0442\u044b\u0441\u044f\u0447\u0430, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f. \u041e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439, \u0430 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u2013 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435.<\/p>\n<p>\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u2013 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0412\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:<\/p>\n<pre><code class=\"typescript\">export function hash(m: number): number {  let x = m;  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 1  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 2  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 3  \/\/ ...  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 N  return x;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0440\u043e\u0434\u0435 \u0431\u044b \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041d\u043e \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0439\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0436\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0440\u0438\u0447\u0451\u043c \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e.<\/p>\n<p><strong>\u0422\u0430\u043a \u0432 \u043a\u0430\u043a\u043e\u0439 \u0436\u0435 \u043c\u043e\u043c\u0435\u043d\u0442 \u044d\u0442\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u0430\u0433\u0438\u044f?<\/strong><\/p>\n<p>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443\u2026<\/p>\n<h3>\u0428\u0430\u0433 1<\/h3>\n<p>\u0422\u0443\u0442 \u0432\u0441\u0451 \u043b\u0435\u0433\u043a\u043e. \u041a \u043d\u0430\u0448\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e <code>x<\/code> \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u2013 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412\u043e\u0442 \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"y = (x^2 + x) \\bmod P\" alt=\"y = (x^2 + x) \\bmod P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50b\/50b05ee3dcf6bd43c9336c5d87778cf7.svg\" width=\"156\" height=\"21\" data-width=\"19.457\" data-height=\"2.565\" data-vertical-align=\"-0.717\" style=\"width: 19.457ex; height: 2.565ex; vertical-align: -0.717ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50b\/50b05ee3dcf6bd43c9336c5d87778cf7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/5\/50\/50b\/50b05ee3dcf6bd43c9336c5d87778cf7.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0418\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 TypeScript:<\/p>\n<pre><code class=\"typescript\">export function hash(m: number): number {  return (m * m + m) % P;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2013 \u044d\u0442\u043e \u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438\u0437 \u0448\u043a\u043e\u043b\u044b. \u0418 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 <code>P<\/code> \u2013 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c!<\/p>\n<p>\u041f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e <code>P<\/code> \u2013 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<p><strong>\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"h = (m^2 + m) \\operatorname{mod} P\" alt=\"h = (m^2 + m) \\operatorname{mod} P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d1\/d18\/d187f54e7e5db10fc9eeb9dae104c44d.svg\" width=\"164\" height=\"21\" data-width=\"20.534\" data-height=\"2.565\" data-vertical-align=\"-0.717\" style=\"width: 20.534ex; height: 2.565ex; vertical-align: -0.717ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d1\/d18\/d187f54e7e5db10fc9eeb9dae104c44d.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/d1\/d18\/d187f54e7e5db10fc9eeb9dae104c44d.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p><strong>\u042d\u0442\u043e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0435\u0437 \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u043c\u0435\u043b\u043e \u0431\u044b \u0432\u0438\u0434:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"m^2 + m - h = 0\" alt=\"m^2 + m - h = 0\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7c\/7ce\/7ce06d4687e11bd32e8f48116ad8b17b.svg\" width=\"128\" height=\"17\" data-width=\"15.943\" data-height=\"2.185\" data-vertical-align=\"-0.186\" style=\"width: 15.943ex; height: 2.185ex; vertical-align: -0.186ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7c\/7ce\/7ce06d4687e11bd32e8f48116ad8b17b.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/7\/7c\/7ce\/7ce06d4687e11bd32e8f48116ad8b17b.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p><strong>\u041f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0434\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442 \u0438 \u043a\u043e\u0440\u043d\u0438:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"D = 1 + 4h\" alt=\"D = 1 + 4h\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/98\/98b\/98b7b685d28c7ed5b83144e4180254e4.svg\" width=\"90\" height=\"14\" data-width=\"11.222\" data-height=\"1.756\" data-vertical-align=\"-0.186\" style=\"width: 11.222ex; height: 1.756ex; vertical-align: -0.186ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/98\/98b\/98b7b685d28c7ed5b83144e4180254e4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/9\/98\/98b\/98b7b685d28c7ed5b83144e4180254e4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><img decoding=\"async\" class=\"formula\" source=\"m = {-1 \\pm \\sqrt{D} \\over 2}\" alt=\"m = {-1 \\pm \\sqrt{D} \\over 2}\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c7\/c75\/c759c9ee7a969154c761fe95328f4af4.svg\" width=\"124\" height=\"42\" data-width=\"15.459\" data-height=\"5.274\" data-vertical-align=\"-2.071\" style=\"width: 15.459ex; height: 5.274ex; vertical-align: -2.071ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c7\/c75\/c759c9ee7a969154c761fe95328f4af4.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c\/c7\/c75\/c759c9ee7a969154c761fe95328f4af4.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p><strong>\u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c <\/strong><code><strong>P<\/strong><\/code><strong>.<\/strong><\/p>\n<p>\u0414\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"D = (1 + 4h) \\operatorname{mod} P\" alt=\"D = (1 + 4h) \\operatorname{mod} P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/dc\/dc3\/dc35845da426059c9ee26bc6ac886a26.svg\" width=\"158\" height=\"18\" data-width=\"19.709\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 19.709ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/dc\/dc3\/dc35845da426059c9ee26bc6ac886a26.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d\/dc\/dc3\/dc35845da426059c9ee26bc6ac886a26.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 <code>P \u2212 1<\/code>:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"-1 \\equiv P - 1 \\pmod P\" alt=\"-1 \\equiv P - 1 \\pmod P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/16\/168\/1683cd8ca86757cbcab74712dc0bc2d7.svg\" width=\"181\" height=\"18\" data-width=\"22.63\" data-height=\"2.262\" data-vertical-align=\"-0.566\" style=\"width: 22.63ex; height: 2.262ex; vertical-align: -0.566ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/16\/168\/1683cd8ca86757cbcab74712dc0bc2d7.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/16\/168\/1683cd8ca86757cbcab74712dc0bc2d7.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 2 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 <code>(P + 1) \/ 2<\/code>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"2 \\cdot \\frac{P+1}{2} = P+1 \\equiv 1 \\pmod P\" alt=\"2 \\cdot \\frac{P+1}{2} = P+1 \\equiv 1 \\pmod P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/3b\/3b9\/3b9731f29a00e7be5bcb63d8defbd1af.svg\" width=\"266\" height=\"37\" data-width=\"33.245\" data-height=\"4.627\" data-vertical-align=\"-1.748\" style=\"width: 33.245ex; height: 4.627ex; vertical-align: -1.748ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/3b\/3b9\/3b9731f29a00e7be5bcb63d8defbd1af.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3\/3b\/3b9\/3b9731f29a00e7be5bcb63d8defbd1af.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e <code>s<\/code>, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e:<\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"s^2 \\bmod P = D\" alt=\"s^2 \\bmod P = D\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/64\/64b\/64b99edd28c23ea2464051243826bdec.svg\" width=\"113\" height=\"21\" data-width=\"14.169\" data-height=\"2.565\" data-vertical-align=\"-0.717\" style=\"width: 14.169ex; height: 2.565ex; vertical-align: -0.717ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/64\/64b\/64b99edd28c23ea2464051243826bdec.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/6\/64\/64b\/64b99edd28c23ea2464051243826bdec.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p><strong>\u0418 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0443:<\/strong><\/p>\n<p><img decoding=\"async\" class=\"formula\" source=\"m = \\left((P - 1 + s) \\cdot \\frac{P+1}{2}\\right) \\bmod P\" alt=\"m = \\left((P - 1 + s) \\cdot \\frac{P+1}{2}\\right) \\bmod P\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1c\/1ce\/1ce815d873471cffc2a3725179efb09e.svg\" width=\"280\" height=\"43\" data-width=\"34.973\" data-height=\"5.428\" data-vertical-align=\"-2.148\" style=\"width: 34.973ex; height: 5.428ex; vertical-align: -2.148ex\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1c\/1ce\/1ce815d873471cffc2a3725179efb09e.svg 780w,&#10;       https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1\/1c\/1ce\/1ce815d873471cffc2a3725179efb09e.svg 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<p>\u0417\u0434\u0435\u0441\u044c <code>s<\/code> \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u043a\u043e\u0440\u043d\u0435\u0439 \u0434\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442\u0430 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e <code>P<\/code>. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u043d\u044f \u043d\u0435\u0442, \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0442\u043e\u0436\u0435 \u043d\u0435\u0442. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u0430\u0451\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>m<\/code>.<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0434\u0430\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432\u0441\u0451 \u0435\u0449\u0451 \u043c\u043e\u0436\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c.<\/p>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u2013 <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\/blob\/main\/src\/step1.ts\" rel=\"noopener nofollow\">\u0448\u0430\u0433 1 (step1.ts)<\/a>.<\/p>\n<h3>\u0428\u0430\u0433 2<\/h3>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0438\u0434:<\/p>\n<pre><code class=\"typescript\">export function hash(m: number): number {  let x = m;  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 1  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 2  return x;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e <code>x<\/code> \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0430\u0447\u0435:<\/p>\n<pre><code class=\"typescript\">export function hash(m: number): number {  let x = (((m * m + m) % P) * ((m * m + m) % P) + m) % P;  return x;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044c \u0441\u043a\u043e\u0431\u043a\u0438:<\/p>\n<pre><code class=\"typescript\">export function hash(m: number): number {  let x = (m * m * m * m + 2 * m * m * m + m * m + m) % P;  return x;}<\/code><div class=\"code-explainer\"><a href=\"https:\/\/sourcecraft.dev\/\" class=\"tm-button code-explainer__link\" style=\"visibility: hidden;\"><span class=\"sc-logo-wrapper icon-only\"><\/span><\/a><\/div><\/pre>\n<p>\u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0443\u0436\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435 \u0443 \u043d\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 4-\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0448\u0430\u0433, \u043f\u0440\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043a\u043e\u0434\u0435, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u0418 \u044d\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0435\u0449\u0451 \u0441\u043e \u0448\u043a\u043e\u043b\u044b:<\/p>\n<p><strong>\u0422\u0435\u043e\u0440\u0435\u043c\u0430 \u0410\u0431\u0435\u043b\u044f \u2013 \u0420\u0443\u0444\u0444\u0438\u043d\u0438<\/strong> \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442:<\/p>\n<blockquote>\n<p>\u0414\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0438\u043d\u043e\u043c\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u044f\u0442\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u0432\u044b\u0448\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u0449\u0435\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0432 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u0430\u0445 (\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0439 \u0435\u0433\u043e \u043a\u043e\u0440\u043d\u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 <em>\u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0439, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0439, \u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u0440\u043d\u0435\u0439<\/em>).<\/p>\n<\/blockquote>\n<p>\u041d\u043e \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441. \u0423 \u043d\u0430\u0441-\u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u0430 \u043d\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0435, \u0438 \u0434\u043b\u044f \u043d\u0438\u0445 \u0442\u0430\u043a\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442. \u041d\u043e \u0438 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b, \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b.<\/p>\n<p>\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u2013 <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\/blob\/main\/src\/step2.ts\" rel=\"noopener nofollow\">\u0448\u0430\u0433 2 (step2.ts)<\/a>.<\/p>\n<h3>\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u0448\u0430\u0433\u0438<\/h3>\n<p>\u041d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0448\u0430\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 8-\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438, \u043d\u0430 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u043c \u2013 16-\u0439, \u043d\u0430 \u043f\u044f\u0442\u043e\u043c \u2013 32-\u0439 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<\/p>\n<p>\u0422\u043e \u0435\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0448\u0430\u0433 \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u0418 \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 20 \u0448\u0430\u0433\u043e\u0432 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430.<\/p>\n<p>\u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043b\u044f <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\/blob\/main\/src\/step17.ts\" rel=\"noopener nofollow\">17 \u0448\u0430\u0433\u043e\u0432 (step17.ts)<\/a> \u0438 <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\/blob\/main\/src\/step25.ts\" rel=\"noopener nofollow\">25 \u0448\u0430\u0433\u043e\u0432 (step25.ts)<\/a>, \u0430 \u0442\u0430\u043a\u0436\u0435 <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\/blob\/main\/src\/algebra.ts\" rel=\"noopener nofollow\">\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f (algebra.ts)<\/a>.<\/p>\n<p>\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0434\u043b\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041a\u0430\u043d\u0442\u043e\u0440\u0430 \u2013 \u0426\u0430\u0441\u0441\u0435\u043d\u0445\u0430\u0443\u0441\u0430:<\/p>\n<div>\n<div class=\"table\">\n<table>\n<tbody>\n<tr>\n<th>\n<p align=\"left\">P<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0428\u0430\u0433\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0434\u043e\u0433\u043d\u0430\u043b\u0430 P<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u0412\u0440\u0435\u043c\u044f<\/p>\n<\/th>\n<th>\n<p align=\"left\">\u041f\u0430\u043c\u044f\u0442\u044c<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u00b2\u2070 (\u043d\u0430\u0448)<\/p>\n<\/td>\n<td>\n<p align=\"left\">20<\/p>\n<\/td>\n<td>\n<p align=\"left\">2\u20133 \u043c\u0438\u043d<\/p>\n<\/td>\n<td>\n<p align=\"left\">~1 \u0413\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u00b2\u2074<\/p>\n<\/td>\n<td>\n<p align=\"left\">24<\/p>\n<\/td>\n<td>\n<p align=\"left\">~1 \u0447<\/p>\n<\/td>\n<td>\n<p align=\"left\">~20 \u0413\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u00b3\u2070<\/p>\n<\/td>\n<td>\n<p align=\"left\">30<\/p>\n<\/td>\n<td>\n<p align=\"left\">~4 \u0434\u043d\u044f<\/p>\n<\/td>\n<td>\n<p align=\"left\">~1 \u0422\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u2074\u2070<\/p>\n<\/td>\n<td>\n<p align=\"left\">40<\/p>\n<\/td>\n<td>\n<p align=\"left\">~20 \u043b\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">~1 \u041f\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u2076\u2074<\/p>\n<\/td>\n<td>\n<p align=\"left\">64<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u2078 \u043b\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u00b9\u2070 \u0422\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u00b9\u00b2\u2078<\/p>\n<\/td>\n<td>\n<p align=\"left\">128<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u00b2\u2078 \u043b\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u00b2\u2079 \u0422\u0411<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p align=\"left\">2\u00b2\u2075\u2076<\/p>\n<\/td>\n<td>\n<p align=\"left\">256<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u2076\u2077 \u043b\u0435\u0442<\/p>\n<\/td>\n<td>\n<p align=\"left\">~10\u2076\u2078 \u0422\u0411<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<h3>\u0412\u044b\u0432\u043e\u0434\u044b<\/h3>\n<p>\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043c\u0435\u0442\u0438\u0442, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0437\u0430 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 (\u043a\u0430\u043a \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0438 \u0434\u043b\u044f SHA-256 \u2013 \u0432\u0441\u0451 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0435, \u043f\u043e \u0441\u0443\u0442\u0438).<\/p>\n<p>\u041d\u043e \u0443\u0436\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0442\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f. \u0414\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0445\u0432\u0430\u0442\u0438\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c: \u0445\u0430\u043b\u044f\u0432\u044b \u0442\u0430\u043c \u043d\u0435\u0442, \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e.<\/p>\n<ul>\n<li>\n<p>\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043a\u043b\u0430\u0446\u0430\u0442\u044c <a href=\"https:\/\/marketkernel.github.io\/hash-lesson\/\" rel=\"noopener nofollow\">\u043e\u043d\u043b\u0430\u0439\u043d-\u043f\u0440\u0438\u043c\u0435\u0440\u044b<\/a>.<\/p>\n<\/li>\n<li>\n<p>\u041a\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 <a href=\"https:\/\/github.com\/MarketKernel\/hash-lesson\" rel=\"noopener nofollow\">\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1098918\/\">https:\/\/habr.com\/ru\/articles\/1098918\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0423 \u0432\u0430\u0441 \u043d\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u043b\u043e \u0436\u0435\u043b\u0430\u043d\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u044c, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0430\u0439\u043d\u0435\u0440\u044b \u0442\u0440\u0430\u0442\u044f\u0442 \u0443\u0439\u043c\u0443 \u044d\u043b\u0435\u043a\u0442\u0440\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043d\u0430 \u043f\u0435\u0440\u0435\u0431\u043e\u0440 \u0445\u0435\u0448\u0435\u0439, \u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438? \u0412\u0435\u0434\u044c \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b \u2013 \u0432 \u043a\u0430\u043a\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0438\u0437 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443\u0436\u0435 \u043d\u0435\u043b\u044c\u0437\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e? \u0413\u0434\u0435 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043e\u043a\u0440\u044b\u0442\u0430 \u043c\u0430\u0433\u0438\u044f?\u042d\u0442\u043e \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043d\u0430 \u043f\u0430\u043b\u044c\u0446\u0430\u0445, \u043a\u0430\u043a \u0438\u0437 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (+) \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 (*), \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f (\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u043e\u0439 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438) \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043e\u0434\u043d\u043e\u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e. \u0422\u0430\u043a\u0443\u044e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0447\u0430\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438), \u0430 \u043d\u0430\u0439\u0442\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0445\u043e\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0447\u0438\u0441\u043b\u043e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0441\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0445\u0435\u0448.\u041d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u2013 \u044d\u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043b\u0435\u0433\u043a\u043e \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432 \u043f\u0440\u044f\u043c\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438, \u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043f\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0443.\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e x. \u041c\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u043c \u0435\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 f \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e y:\u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u041c\u044b \u0437\u043d\u0430\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 y \u0438 \u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f f (\u0435\u0451 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434 \u043e\u0442\u043a\u0440\u044b\u0442). \u0427\u0442\u043e \u043c\u0435\u0448\u0430\u0435\u0442 \u043d\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u044c x?\u041f\u0440\u0438\u0447\u0451\u043c \u043d\u0430\u043c \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 x. \u041f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u043b\u044e\u0431\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u044b\u0434\u0430\u0441\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 y.\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e. \u0412\u0435\u0434\u044c \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u2013 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0435: \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0435 \u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0435.\u0415\u0449\u0451 \u0441\u043e \u0448\u043a\u043e\u043b\u044b \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u043a\u0430\u043a \u0440\u0435\u0448\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f.\u041d\u0430\u0447\u043d\u0451\u043c \u0441\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u0435 x, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0442\u0438 \u043f\u044f\u0442\u0451\u0440\u043a\u0443 \u0432 \u043f\u0440\u0430\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c:\u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0441 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c\u0414\u0435\u043b\u0438\u043c \u043e\u0431\u0435 \u0447\u0430\u0441\u0442\u0438 \u043d\u0430 \u043f\u044f\u0442\u044c \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:\u041e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f\u0415\u0449\u0451 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u0438\u043b\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c %.\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 17 % 5 = 2. \u041c\u044b \u0434\u0435\u043b\u0438\u043c 17 \u043d\u0430 5, \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c 3 \u0438 \u043e\u0441\u0442\u0430\u0442\u043e\u043a 2. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u0438 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438.\u041d\u0430 \u043f\u0435\u0440\u0432\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u0437\u0434\u0435\u0441\u044c \u0443\u0436\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430. \u0412\u0435\u0434\u044c \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u043e\u0441\u0442\u0430\u0442\u043a\u0443 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u041d\u043e \u0432\u0441\u043f\u043e\u043c\u043d\u0438\u043c \u043d\u0430\u0448\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435: \u043d\u0430\u043c \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2013 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u043b\u044e\u0431\u043e\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u0430\u0441\u0442 \u0442\u043e\u0442 \u0436\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.\u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e \u0432\u0437\u044f\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430:\u041a\u0430\u043a\u0438\u043c \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c x? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, 2, 7, 12, 17, 22 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0412\u0441\u0435 \u044d\u0442\u0438 \u0447\u0438\u0441\u043b\u0430 \u043f\u0440\u0438 \u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u043d\u0430 5 \u0434\u0430\u044e\u0442 \u043e\u0441\u0442\u0430\u0442\u043e\u043a 2.\u0418\u043d\u0430\u0447\u0435 \u0433\u043e\u0432\u043e\u0440\u044f, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0434\u0430\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u0430\u044f \u0444\u043e\u0440\u043c\u0443\u043b\u0430:\u0433\u0434\u0435 k \u2013 \u043b\u044e\u0431\u043e\u0435 \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e.\u0410 \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u044e\u0431\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0437\u044f\u0442\u044c k = 0 \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c x = 2.\u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044f \u0432\u0437\u044f\u0442\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u0430 \u0432 \u0441\u0442\u0440\u043e\u0433\u043e\u043c \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435: \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u043e\u0434\u043d\u043e\u0437\u043d\u0430\u0447\u043d\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e. \u041d\u043e \u043d\u0430\u0439\u0442\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u043e.\u0418\u0442\u0430\u043a, \u0441\u043e \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u0432\u0441\u0451 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e: \u0435\u0441\u043b\u0438 \u043a \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e\u043c\u0443 \u0447\u0438\u0441\u043b\u0443 \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u0438\u0431\u0430\u0432\u0438\u043b\u0438, \u043c\u044b \u044d\u0442\u043e \u0432\u044b\u0447\u0438\u0442\u0430\u0435\u043c. \u0415\u0441\u043b\u0438 \u0443\u043c\u043d\u043e\u0436\u0438\u043b\u0438 \u043d\u0430 \u043d\u0435\u043d\u0443\u043b\u0435\u0432\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2013 \u0434\u0435\u043b\u0438\u043c. \u0414\u0430\u0436\u0435 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0441\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b, \u0435\u0441\u043b\u0438 \u043d\u0430\u043c \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043b\u044e\u0431\u043e\u0439 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442.\u0418 \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u0434\u0432\u0435, \u0430 \u0442\u044b\u0441\u044f\u0447\u0430, \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0431\u044b, \u043d\u0438\u0447\u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f. \u041e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0432 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435, \u043d\u0430\u0447\u0438\u043d\u0430\u044f \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439, \u0430 \u0442\u0430\u043c, \u0433\u0434\u0435 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u2013 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435.\u042f \u0432\u044b\u0431\u0440\u0430\u043b \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0443\u0436\u0435 \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u043e\u043c \u2013 \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0435 \u0430\u043b\u0433\u0435\u0431\u0440\u0430\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0412\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438:export function hash(m: number): number {  let x = m;  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 1  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 2  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 3  \/\/ &#8230;  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 N  return x;}\u0412\u0440\u043e\u0434\u0435 \u0431\u044b \u0432\u0441\u0451 \u043f\u0440\u043e\u0441\u0442\u043e \u2013 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435 \u0438 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041d\u043e \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0439\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0436\u0435 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043f\u0440\u0438\u0447\u0451\u043c \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e.\u0422\u0430\u043a \u0432 \u043a\u0430\u043a\u043e\u0439 \u0436\u0435 \u043c\u043e\u043c\u0435\u043d\u0442 \u044d\u0442\u0430 \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0451\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043c\u0430\u0433\u0438\u044f?\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443\u2026\u0428\u0430\u0433 1\u0422\u0443\u0442 \u0432\u0441\u0451 \u043b\u0435\u0433\u043a\u043e. \u041a \u043d\u0430\u0448\u0435\u043c\u0443 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e x \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043e\u0434\u043d\u0443 \u0438 \u0442\u0443 \u0436\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u2013 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412\u043e\u0442 \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430:\u0418\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u044c \u0432 TypeScript:export function hash(m: number): number {  return (m * m + m) % P;}\u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0447\u0442\u043e \u0441\u0430\u043c\u0430 \u043f\u043e \u0441\u0435\u0431\u0435 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u2013 \u044d\u0442\u043e \u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438\u0437 \u0448\u043a\u043e\u043b\u044b. \u0418 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043e\u0441\u0442\u0430\u0442\u043e\u043a \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 P \u2013 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0439\u0442\u0438 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c!\u041f\u0440\u0438 \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e P \u2013 \u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u043e\u0431\u0440\u0430\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.\u0418\u0441\u0445\u043e\u0434\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f:\u042d\u0442\u043e \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0435\u0437 \u043c\u043e\u0434\u0443\u043b\u044f \u0438\u043c\u0435\u043b\u043e \u0431\u044b \u0432\u0438\u0434:\u041f\u043e \u0448\u043a\u043e\u043b\u044c\u043d\u043e\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u0434\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442 \u0438 \u043a\u043e\u0440\u043d\u0438:\u0422\u0435\u043f\u0435\u0440\u044c \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c P.\u0414\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u043c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e:\u041c\u0438\u043d\u0443\u0441 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430 P \u2212 1:\u0414\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 2 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435\u043c \u043d\u0430 (P + 1) \/ 2, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443:\u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0430\u0439\u0442\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0439 \u043a\u043e\u0440\u0435\u043d\u044c \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u0447\u0438\u0441\u043b\u043e s, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e:\u0418 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0438\u0442\u043e\u0433\u043e\u0432\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0443:\u0417\u0434\u0435\u0441\u044c s \u2013 \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u044b\u0445 \u043a\u043e\u0440\u043d\u0435\u0439 \u0434\u0438\u0441\u043a\u0440\u0438\u043c\u0438\u043d\u0430\u043d\u0442\u0430 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e P. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u0440\u043d\u044f \u043d\u0435\u0442, \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0442\u043e\u0436\u0435 \u043d\u0435\u0442. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c, \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u0434\u0430\u0451\u0442 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 m.\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0434\u0430\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0441\u0442\u0430\u0442\u043a\u0430 \u043e\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0432\u0441\u0451 \u0435\u0449\u0451 \u043c\u043e\u0436\u043d\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0435\u0448\u0438\u0442\u044c.\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u2013 \u0448\u0430\u0433 1 (step1.ts).\u0428\u0430\u0433 2\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0448\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0432\u0438\u0434:export function hash(m: number): number {  let x = m;  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 1  x = (x * x + m) % P; \/\/ \u0448\u0430\u0433 2  return x;}\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u043e x \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0438\u0437 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0448\u0430\u0433\u0430 \u0438 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0438\u043d\u0430\u0447\u0435:export function hash(m: number): number {  let x = (((m * m + m) % P) * ((m * m + m) % P) + m) % P;  return x;}\u0415\u0441\u043b\u0438 \u0440\u0430\u0441\u043a\u0440\u044b\u0442\u044c \u0441\u043a\u043e\u0431\u043a\u0438:export function hash(m: number): number {  let x = (m * m * m * m + 2 * m * m * m + m * m + m) % P;  return x;}\u0412\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0443\u0436\u0435 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u0448\u0430\u0433\u0435 \u0443 \u043d\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 4-\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438. \u041a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0448\u0430\u0433, \u043f\u0440\u0438 \u0432\u0438\u0434\u0438\u043c\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043a\u043e\u0434\u0435, \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u0418 \u044d\u0442\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435 \u0435\u0449\u0451 \u0441\u043e \u0448\u043a\u043e\u043b\u044b:\u0422\u0435\u043e\u0440\u0435\u043c\u0430 \u0410\u0431\u0435\u043b\u044f \u2013 \u0420\u0443\u0444\u0444\u0438\u043d\u0438 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0435\u0442:\u0414\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0438\u043d\u043e\u043c\u0438\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u044f\u0442\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0438 \u0432\u044b\u0448\u0435 \u043d\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0431\u0449\u0435\u0439 \u0444\u043e\u0440\u043c\u0443\u043b\u044b \u0432 \u0440\u0430\u0434\u0438\u043a\u0430\u043b\u0430\u0445 (\u0442\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u0440\u0430\u0436\u0430\u044e\u0449\u0435\u0439 \u0435\u0433\u043e \u043a\u043e\u0440\u043d\u0438 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u0447\u0438\u0441\u043b\u0430 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432\u044b\u0447\u0438\u0442\u0430\u043d\u0438\u0439, \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0439, \u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0438 \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0439 \u043a\u043e\u0440\u043d\u0435\u0439).\u041d\u043e \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441. \u0423 \u043d\u0430\u0441-\u0442\u043e \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u043c\u043e\u0434\u0443\u043b\u044e, \u0430 \u043d\u0435 \u043e\u0431\u044b\u0447\u043d\u044b\u0435, \u0438 \u0434\u043b\u044f \u043d\u0438\u0445 \u0442\u0430\u043a\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442. \u041d\u043e \u0438 \u043e\u043d\u0438 \u043d\u0435 \u043d\u0430\u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b, \u043a\u0430\u043a \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b.\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u2013 \u0448\u0430\u0433 2 (step2.ts).\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u0448\u0430\u0433\u0438\u041d\u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c \u0448\u0430\u0433\u0435 \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0443\u0436\u0435 8-\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438, \u043d\u0430 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u043e\u043c \u2013 16-\u0439, \u043d\u0430 \u043f\u044f\u0442\u043e\u043c \u2013 32-\u0439 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.\u0422\u043e \u0435\u0441\u0442\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043d\u043e\u0432\u044b\u0439 \u0448\u0430\u0433 \u0443\u0434\u0432\u0430\u0438\u0432\u0430\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f. \u0418 \u0443\u0436\u0435 \u043f\u043e\u0441\u043b\u0435 20 \u0448\u0430\u0433\u043e\u0432 \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430.\u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0434\u043b\u044f 17 \u0448\u0430\u0433\u043e\u0432 (step17.ts) \u0438 25 \u0448\u0430\u0433\u043e\u0432 (step25.ts), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f (algebra.ts).\u041a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0430\u044f \u043e\u0446\u0435\u043d\u043a\u0430 \u0434\u043b\u044f \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041a\u0430\u043d\u0442\u043e\u0440\u0430 \u2013 \u0426\u0430\u0441\u0441\u0435\u043d\u0445\u0430\u0443\u0441\u0430:P\u0428\u0430\u0433\u043e\u0432, \u0447\u0442\u043e\u0431\u044b \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0434\u043e\u0433\u043d\u0430\u043b\u0430 P\u0412\u0440\u0435\u043c\u044f\u041f\u0430\u043c\u044f\u0442\u044c2\u00b2\u2070 (\u043d\u0430\u0448)202\u20133 \u043c\u0438\u043d~1 \u0413\u04112\u00b2\u207424~1 \u0447~20 \u0413\u04112\u00b3\u207030~4 \u0434\u043d\u044f~1 \u0422\u04112\u2074\u207040~20 \u043b\u0435\u0442~1 \u041f\u04112\u2076\u207464~10\u2078 \u043b\u0435\u0442~10\u00b9\u2070 \u0422\u04112\u00b9\u00b2\u2078128~10\u00b2\u2078 \u043b\u0435\u0442~10\u00b2\u2079 \u0422\u04112\u00b2\u2075\u2076256~10\u2076\u2077 \u043b\u0435\u0442~10\u2076\u2078 \u0422\u0411\u0412\u044b\u0432\u043e\u0434\u044b\u0412\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0437\u0430\u043c\u0435\u0442\u0438\u0442, \u0447\u0442\u043e \u0441\u0442\u0440\u043e\u0433\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u043e\u0435 \u0443\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0437\u0430 \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0443 \u043c\u0435\u043d\u044f \u043d\u0435\u0442 (\u043a\u0430\u043a \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0433\u043e \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430 \u0438 \u0434\u043b\u044f SHA-256 \u2013 \u0432\u0441\u0451 \u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043d\u0430 \u0432\u0435\u0440\u0435, \u043f\u043e \u0441\u0443\u0442\u0438).\u041d\u043e \u0443\u0436\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u0442\u043e \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u0442\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u0430\u044f. \u0414\u043b\u044f \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0445\u0432\u0430\u0442\u0438\u0442 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0435 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u044f\u0442\u044c: \u0445\u0430\u043b\u044f\u0432\u044b \u0442\u0430\u043c \u043d\u0435\u0442, \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u0430\u044f \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0430 \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0411\u044b\u0441\u0442\u0440\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0435\u0441\u043b\u0438 \u0438 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442, \u043d\u0430\u0439\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e.\u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043a\u043b\u0430\u0446\u0430\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d-\u043f\u0440\u0438\u043c\u0435\u0440\u044b.\u041a\u043e\u0434 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438.\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 https:\/\/habr.com\/ru\/articles\/1098918\/<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-500135","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/500135","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=500135"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/500135\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=500135"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=500135"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=500135"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}