{"id":409887,"date":"2024-06-29T21:02:53","date_gmt":"2024-06-29T21:02:53","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=409887"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=409887","title":{"rendered":"<span>\u041a\u0430\u043a \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0441\u0438\u043d\u0443\u0441 \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0432\u0441\u0435\u0445 \u043d\u0430 \u0445\u0430\u0431\u0440\u0435<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/584460\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/po\/2v\/fo\/po2vfouzpb2kjhqc7gcpseksmne.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/po\/2v\/fo\/po2vfouzpb2kjhqc7gcpseksmne.gif\"\/><\/div>\n<p><\/a><br \/>  \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u0432\u043e\u044e \u043a\u0430\u0436\u0443\u0449\u0443\u044e\u0441\u044f \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0442\u0435\u043c\u044b \u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0441\u0438\u043d\u0443\u0441\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0445\u0430\u0431\u0440\u0435. \u0418 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u044b \u0438\u043b\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u041d\u0435 \u0432 \u0441\u0438\u043b\u0430\u0445 \u0431\u043e\u043b\u0435\u0435 \u0442\u0435\u0440\u043f\u0435\u0442\u044c, \u044f \u0442\u043e\u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u043d\u0435\u0441\u0442\u0438 \u0441\u0432\u043e\u0439, \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0442\u0440\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430 \u043a \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430\u043c\u0438:<\/p>\n<p>  <b><font color=\"#3AC1EF\">1. \u0420\u0430\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0440\u044f\u0434 \u0422\u0435\u0439\u043b\u043e\u0440\u0430:<\/font><\/b><br \/>  \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 (\u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0433\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0442 \u0432 \u0448\u043a\u043e\u043b\u0435) \u0438 \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439. \u041f\u043e \u0441\u0443\u0442\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0435, \u043e\u0442\u043a\u0443\u0434\u0430 \u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0442 \u0435\u0433\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u0438 \u2014 \u043e\u0448\u0438\u0431\u043a\u0430 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043f\u043e \u043c\u0435\u0440\u0435 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u043e\u0442 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438, \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f, \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043d\u0435 \u0441\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043e\u043e\u0431\u0449\u0435, \u0434\u043b\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0442\u043e\u0447\u043a\u0430\u0445 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u0432\u043e\u043e\u0431\u0449\u0435.<\/p>\n<p>  <b><font color=\"#3AC1EF\">2. \u041c\u0435\u0442\u043e\u0434 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0445 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043e\u0432:<\/font><\/b><br \/>  \u0427\u0443\u0442\u044c \u043c\u0435\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439, \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043d\u043e \u0438 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439. \u0415\u0433\u043e \u0438\u0434\u0435\u044f \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u043c\u0435\u0436\u0434\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u0435\u0451 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u043c. \u041d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043a\u043e\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u0442 \u0444\u0430\u043a\u0442, \u0447\u0442\u043e \u0438\u0437 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043b\u043e\u0449\u0430\u0434\u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0445 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0439 \u2014 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0448\u0438\u0431\u043a\u0430 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u0445\u043e\u0442\u044c \u0438 \u043e\u0441\u0446\u0438\u043b\u043b\u0438\u0440\u0443\u0435\u0442, \u043d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0438\u043c\u0435\u0435\u0442 \u0442\u0435\u043d\u0434\u0435\u043d\u0446\u0438\u044e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0442\u044c \u043d\u0430 \u043a\u0440\u0430\u044f\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430.<\/p>\n<p>  <b><font color=\"#3AC1EF\">3. \u041c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u044b \u0427\u0435\u0431\u044b\u0448\u0435\u0432\u0430:<\/font><\/b><br \/>  \u0415\u0449\u0451 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0439, \u043d\u0430\u0438\u043c\u0435\u043d\u0435\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439, \u043d\u043e \u0447\u0430\u0441\u0442\u043e \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434. \u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0435\u0433\u043e \u043f\u0440\u043e\u0438\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0430 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 \u0438 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0451\u0442\u0441\u044f by design. \u0421\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0442\u0435\u043a\u0430\u0435\u0442 \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u0427\u0435\u0431\u044b\u0448\u0435\u0432\u0430 \u0447\u0435\u0440\u0435\u0437 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044b \u0434\u0430\u0436\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0434\u043b\u044f \u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0411\u0435\u0441\u0441\u0435\u043b\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u0435 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0442), \u0430 \u0437\u0430\u0442\u0435\u043c \u0438\u0445 \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0433\u043e \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u0441 \u0437\u0430\u043f\u0430\u0441\u043e\u043c \u043f\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u041a \u0441\u0447\u0430\u0441\u0442\u044c\u044e, \u0438\u043c\u0435\u044f \u0432 \u0441\u0432\u043e\u0451\u043c \u0440\u0430\u0441\u043f\u043e\u0440\u044f\u0436\u0435\u043d\u0438\u0438 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0439 \u0430\u043b\u0433\u0435\u0431\u0440\u044b, \u0432\u0441\u0451 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0451\u0433\u043a\u0438\u043c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435\u043c \u0440\u0443\u043a\u0438, \u0434\u0430\u0436\u0435 \u043d\u0435 \u0432\u043d\u0438\u043a\u0430\u044f \u043e\u0441\u043e\u0431\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0432 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u044f\u0449\u0435\u0433\u043e.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u0438\u043c\u0438 \u0442\u0440\u0435\u043c\u044f \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u2014 \u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0435 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0442\u043e\u0447\u043a\u0430\u0445, \u0430 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u0439, \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0440\u0430\u0437\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0441\u0442\u0435\u043f\u0435\u043d\u043d\u044b\u0435 \u0440\u044f\u0434\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c, \u0438 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%BF%D0%BF%D1%80%D0%BE%D0%BA%D1%81%D0%B8%D0%BC%D0%B0%D1%86%D0%B8%D1%8F_%D0%9F%D0%B0%D0%B4%D0%B5\">\u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u044e \u041f\u0430\u0434\u0435<\/a> \u0438 \u0435\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0438), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u043c\u0438\u043d\u0438-\u043c\u0430\u043a\u0441 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430<\/font><\/h2>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Wolfram Mathematica, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044e\u0449\u0443\u044e \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0434\u043b\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 ChebyshevApproximation \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>ChebyshevApproximation[n_, f_, x_] := N[Table[Integrate[<br \/>  f ChebyshevT[k, x] (2\/(\\[Pi] Sqrt[1-x^2])), {x, -1, 1}], {k, 0, n}], 20] \/\/ <br \/>  #[[1]]\/2 + Sum[#[[k+1]] ChebyshevT[k, x], {k, 1, n}] &amp; \/\/ Simplify<\/code><\/div>\n<\/p><\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0432\u043d\u0430 20 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u044b\u043c \u0437\u043d\u0430\u043a\u0430\u043c \u2014 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041c\u043e\u0436\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0437\u0430\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u0447\u0451\u0442\u043d\u044b\u0445\/\u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f. \u0414\u043b\u044f \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 ChebyshevOddApproximation \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>ChebyshevOddApproximation[n_, f_, x_] := N[Table[2 Integrate[<br \/>  f ChebyshevT[k, x] (2\/(\\[Pi] Sqrt[1-x^2])), {x, 0, 1}], {k, 1, n, 2}], 20] \/\/<br \/>  Sum[#[[((k+1)\/2)]] ChebyshevT[k, x], {k, 1, n, 2}] &amp; \/\/ Simplify<\/code><\/div>\n<\/p><\/div>\n<p>  \u0430 \u0434\u043b\u044f \u0447\u0451\u0442\u043d\u044b\u0445 \u043a\u0430\u043a:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 ChebyshevEvenApproximation \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>ChebyshevEvenApproximation[n_, f_, x_] := N[Table[2 Integrate[<br \/>  f ChebyshevT[k, x] (2\/(\\[Pi] Sqrt[1-x^2])), {x, 0, 1}], {k, 0, n, 2}], 20] \/\/<br \/>  #[[1]]\/2 + Sum[#[[((k+2)\/2)]] ChebyshevT[k, x], {k, 2, n, 2}] &amp; \/\/<br \/>  Simplify<\/code><\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u0412 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0434\u043b\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u0437\u0430\u043c\u0435\u043d\u0438\u0432 Integrate \u043d\u0430NIntegrate. \u0417\u0434\u0435\u0441\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u043e\u0441\u043b\u043e\u0436\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u0435\u043c, \u0447\u0442\u043e \u043d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u0445 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 (-1,1) \u043f\u043e\u0434\u044b\u043d\u0442\u0435\u0433\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u0443\u0441\u0442\u0440\u0435\u043c\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u044c \u2014 \u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043f\u0440\u0435\u0436\u0434\u0435 \u0432\u0441\u0435\u0433\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0445 \u0443\u0441\u043b\u043e\u0432\u0438\u0439 \u0434\u043b\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430. \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u043d\u0438\u0435 \u0431\u043b\u0438\u0437\u043a\u0438\u0445 \u043a \u043d\u0443\u043b\u044e \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432, \u044f\u0432\u043b\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u0447\u0451\u0442\u043d\u044b\u0445\/\u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 NChebyshevApproximation \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>NChebyshevApproximation[n_, f_, x_] := N[Simplify[Table[<br \/>  NIntegrate[f ChebyshevT[k, x] (2\/(\\[Pi] Sqrt[1-x^2])), {x, -1, 1}, <br \/>  WorkingPrecision ->30, Exclusions->x^2 == 1, MaxRecursion -> 25], {k, 0, n}] \/\/ <br \/>  Map[Sign[#] Max[0, (Abs[#]-10^-20)] &amp;, #] &amp; \/\/ <br \/>  #[[1]]\/2 + Sum[#[[k+1]] ChebyshevT[k, x], {k, 1, n}] &amp;], 20]<\/code><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<p>  <\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041d\u0430\u0447\u0430\u043b\u043e<\/font><\/h2>\n<p>  \u041d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u043d\u0430\u0434\u0451\u0436\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u044c \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u0438\u043d\u0443\u0441\u0430 \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0435\u0433\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430, \u043f\u043e\u0436\u0435\u0440\u0442\u0432\u043e\u0432\u0430\u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e. \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u0432 \u0427\u0435\u0431\u044b\u0448\u0435\u0432\u0430 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0435\u0440\u043d\u044b\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u043e\u0447\u043d\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/bc9\/22d\/b2c\/bc922db2cf20c54fbbb69b76c8e6066b.svg\" alt=\"$\\pm 1$\" data-tex=\"inline\"\/>. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u043e\u0437\u044c\u043c\u0451\u043c 7-\u044e \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u2014 \u0435\u0451 \u0432\u043f\u043e\u043b\u043d\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447 \u0432\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>f = Sin[x Pi\/2];<br \/>  p7 = ChebyshevApproximation[7, f, x]<\/code><\/div>\n<\/p><\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d:  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3aa\/253\/053\/3aa25305347ca38ed2613ff3e234652f.svg\" alt=\"$1.570790987736993843 x -0.6458926627270273119 x^3 + \\\\ +0.07943397083919976561 x^5 - 0.004332881653897759435 x^7$\" data-tex=\"display\"\/><\/p>\n<p>  \u0420\u0435\u0430\u043b\u044c\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u0443\u044e \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0430 \u0433\u0440\u0430\u0444\u0438\u043a \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u043c\u0435\u0436\u0434\u0443 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u044d\u0442\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u043c:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>Plot[f - p7 \/\/ Evaluate, {x, -1, 1}, <br \/>  GridLines -> {(Range[10] - 5)\/5, Automatic}, WorkingPrecision -> 20] \/\/ Quiet<\/code><\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/2z\/yl\/ky\/2zylkyjcu31uiakdv3qmngy4s7u.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/2z\/yl\/ky\/2zylkyjcu31uiakdv3qmngy4s7u.gif\"\/><\/div>\n<p>  \u041f\u043e \u0433\u0440\u0430\u0444\u0438\u043a\u0443 \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043d\u0430 \u043a\u0440\u0430\u044f\u0445 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e sin(90\u00b0) \u0441 \u0442\u0430\u043a\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0432\u0435\u043d \u043d\u0435 \u0435\u0434\u0438\u043d\u0438\u0446\u0435, \u0430 0.999999414195269. \u0415\u0441\u043b\u0438 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0435\u0434\u0438\u043d\u0438\u0446\u0430 \u2014 \u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0439\u0442\u0438 \u043d\u0430 \u0445\u0438\u0442\u0440\u043e\u0441\u0442\u044c \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0430\u0446\u0438\u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u043d\u0430 \u043a\u0440\u0430\u044f\u0445 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d99\/a11\/0c8\/d99a110c85ed23c081493acee4aac1e8.svg\" alt=\"$(-1,1)$\" data-tex=\"inline\"\/> \u0441\u0442\u0430\u043b\u043e \u0431\u043b\u0438\u0437\u043a\u0438\u043c \u043a \u043d\u0443\u043b\u044e. \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044d\u0442\u043e\u0433\u043e \u00ab\u043d\u0435\u043c\u043d\u043e\u0433\u043e\u00bb (\u043a\u0430\u043a \u043c\u043d\u043e\u0436\u0438\u0442\u0435\u043b\u044c \u043f\u0440\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0435 \u0441\u0438\u043d\u0443\u0441\u0430) \u0431\u0443\u0434\u0435\u043c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c \u0438\u0442\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0438\u0441\u043a \u043a\u043e\u0440\u043d\u044f \u043e\u0448\u0438\u0431\u043a\u0438 (\u0440\u0430\u0437\u043d\u0438\u0446\u044b \u043c\u0435\u0436\u0434\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 \u0438 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0438\u043c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u043c), \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0431\u043b\u0438\u0437\u043a\u0438\u043c \u043a \u0435\u0434\u0438\u043d\u0438\u0446\u0435.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>p71 = Block[{z = 1, p}, <br \/>  Do[p = ChebyshevOddApproximation[7, Sin[x Pi\/2\/z], x] \/. x -> x z \/\/ Simplify;<br \/>  z *= (x \/. FindRoot[(p-Sin[x Pi\/2])==0, {x, 1}]), 5]; p]<\/code>  <\/div>\n<\/p><\/div>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/fa1\/18d\/a5b\/fa118da5b9a52f0cc0461baf5f79b1a8.svg\" alt=\"$1.5707903005870776 x - 0.6458858977085938 x^3 +\\\\ 0.07941798513358536 x^5 - 0.0043223880120647346 x^7$\" data-tex=\"display\"\/><\/p>\n<p>  \u0412\u043e\u0442 \u043a\u0430\u043a \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0439:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/di\/wu\/wo\/diwuwovht9iphcgdpljiwiuxbds.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/di\/wu\/wo\/diwuwovht9iphcgdpljiwiuxbds.gif\"\/><\/div>\n<p>  \u041f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0432\u044b\u0440\u043e\u0441\u043b\u0430, \u043d\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e.<\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u0438\u043d\u0443\u0441\u0430, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u044f \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u043a \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d99\/a11\/0c8\/d99a110c85ed23c081493acee4aac1e8.svg\" alt=\"$(-1,1)$\" data-tex=\"inline\"\/>, \u0443\u0447\u0451\u0442\u0430 \u0446\u0438\u043a\u043b\u0438\u0447\u043d\u043e\u0441\u0442\u0438 \u0438 \u0441\u0438\u043c\u043c\u0435\u0442\u0440\u0438\u0438. \u0414\u043b\u044f \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0433\u043e \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u0432 \u043a\u043e\u0434 \u043d\u0430\u043c \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0433\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 (\u0443\u0436\u0435 \u0438\u043c\u0435\u044e\u0449\u0438\u0435\u0441\u044f) \u0444\u0443\u043d\u043a\u0446\u0438\u0438: HornerForm \u2014 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u043a<a href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A1%D1%85%D0%B5%D0%BC%D0%B0_%D0%93%D0%BE%D1%80%D0%BD%D0%B5%D1%80%D0%B0\"> \u0441\u0445\u0435\u043c\u0435 \u0413\u043e\u0440\u043d\u0435\u0440\u0430<\/a>, \u0438 CForm \u2014 \u0434\u043b\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043a \u0432\u0438\u0434\u0443, \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0432 \u0441\u0438-\u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0430 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\">CForm[HornerForm[p71] \/. x^2 -> xx]  <\/div>\n<\/p><\/div>\n<p>  \u0421\u0430\u043c\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f \u0421#<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">double Sin7(double x) { x *= 0.63661977236758134308; \/\/ 2\/Pi bool sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; if ((xf &amp; 1) == 1) x = 1 - x; bool per = ((xf >> 1) &amp; 1) == 1; double xx = x * x; double y = x * (1.5707903005870776 + xx * (-0.6458858977085938 + xx*(0.07941798513358536 - 0.0043223880120647346 * xx))); return sign^per ? -y : y; }<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f \u0421\/\u0421++<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">double Sin7(double x) { x *= 0.63661977236758134308; \/\/ 2\/Pi int sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; if ((xf &amp; 1) == 1) x = 1 - x; int per = ((xf >> 1) &amp; 1) == 1; double xx = x * x; double y = x * (1.5707903005870776 + xx * (-0.6458858977085938 +  xx*(0.07941798513358536 - 0.0043223880120647346 * xx))); return sign ^ per ? -y : y; }<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043b\u044f C\/C++ \u0442\u0438\u043f bool \u0437\u0430\u043c\u0435\u043d\u0451\u043d \u043d\u0430 int \u2014 \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f, \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u0432 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u0412 \u0446\u0435\u043b\u044f\u0445 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0437\u0434\u0435\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043d\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f Floor(x), \u0430 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043a \u0446\u0435\u043b\u043e\u043c\u0443 \u0442\u0438\u043f\u0443 (\u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u0430 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u043e\u0439 \u0444\u0443\u043d\u043a\u0446\u0438\u0438). \u042d\u0442\u043e \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0434\u043b\u044f int \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e 2147483647. \u0422\u0438\u043f int \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430 long (\u0430 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0435\u0435 \u2014 \u043d\u0430 unsigned long), \u043d\u043e \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b \u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430 \u044d\u0442\u043e \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u044e \u043a\u043e\u0434\u0430. \u041d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u0435\u0442 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0438\u0437-\u0437\u0430 \u0440\u0430\u0437\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u0432 \u0443 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/add\/8b5\/4ea\/add8b54ea56919b2cfafafc53d675f11.svg\" alt=\"$2 \\pi$\" data-tex=\"inline\"\/>. \u041f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e\u0439 \u0440\u0430\u0441\u043f\u043b\u0430\u0442\u043e\u0439 \u0437\u0430 \u0431\u043e\u043b\u0435\u0435 \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435<\/font><\/h2>\n<p>  \u041f\u0440\u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u0438 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0438 \u043a\u0430\u043a \u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0435, \u043d\u0430\u043a\u0430\u043f\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a double \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/054\/91b\/001\/05491b0014505d38d2cb26be03776627.svg\" alt=\"$(0, \\frac{\\pi}{2})$\" data-tex=\"inline\"\/> \u043d\u0430 \u0434\u0432\u0430 \u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d. \u0414\u043b\u044f \u043b\u0435\u0432\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0431\u0443\u0434\u0435\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d \u0434\u043b\u044f <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/86a\/d85\/910\/86ad85910066f2c549da47b31e842b6b.svg\" alt=\"$\\sin(\\frac{\\pi}{4})$\" data-tex=\"inline\"\/>, \u0430 \u0434\u043b\u044f \u043f\u0440\u0430\u0432\u043e\u0439 \u0434\u043b\u044f <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/3eb\/941\/28a\/3eb94128a00bf4d549ed225073a829bc.svg\" alt=\"$1- \\cos(\\frac{\\pi}{4})$\" data-tex=\"inline\"\/> (\u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u00ab\u043f\u0435\u0440\u0435\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f\u00bb \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043a\u0438\u043d\u0443\u0442\u044c \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u0443\u044e \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443, \u0441\u043c\u0435\u0449\u0430\u044e\u0449\u0443\u044e \u043e\u0448\u0438\u0431\u043a\u0443 \u043a \u0446\u0435\u043d\u0442\u0440\u0443, \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u043e <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/51f\/67f\/7fc\/51f67f7fcebbdb32aae7d20092f1d98d.svg\" alt=\"$\\cos(0)=1$\" data-tex=\"inline\"\/>). \u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u043a \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0443, \u043f\u0435\u0440\u0435\u0441\u0447\u0438\u0442\u0430\u0432 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0437\u0430\u043c\u0435\u043d\u043e\u0439 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1cf\/3e7\/047\/1cf3e70476e24919e117dc381761c32b.svg\" alt=\"$x\\to 2 x$\" data-tex=\"inline\"\/>. \u041e\u043f\u044b\u0442\u043d\u044b\u043c \u043f\u0443\u0442\u0451\u043c \u0431\u044b\u043b\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e 13-\u043e\u0439 \u0438 12-\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 (\u0434\u043b\u044f \u0441\u0438\u043d\u0443\u0441\u0430 \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e):<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"plaintext\">fs4 = Sin[x Pi\/4]; p13 = ChebyshevOddApproximation[13, fs4, x]; fc4 = 1-Cos[x Pi\/4]; p12 = ChebyshevEvenApproximation[12, fc4, x];  Row[{CForm[(p13 \/. x -> 2 x \/\/ HornerForm) \/. x^2 -> xx] \/\/ Framed, CForm[(p12 \/. x -> 2 x \/\/ HornerForm) \/. x^2 -> xx] \/\/ Framed}]  GraphicsRow[{ Plot[fs4 - p13 \/\/ Evaluate, {x, -1, 1},  GridLines -> {(Range[10] - 5)\/5, Automatic},  WorkingPrecision -> 20, Background -> Hue[0.14, 0, 0.98]] \/\/ Quiet,  Plot[fc4 - p12 \/\/ Evaluate, {x, -1, 1},  GridLines -> {(Range[10] - 5)\/5, Automatic},  WorkingPrecision -> 20, Background -> Hue[0.14, 0, 0.98]] \/\/ Quiet}, ImageSize -> Large, Spacings -> 5]<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0413\u0440\u0430\u0444\u0438\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/h9\/ix\/mc\/h9ixmcgcazwlx-i8yrwd_vgteyw.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/h9\/ix\/mc\/h9ixmcgcazwlx-i8yrwd_vgteyw.gif\"\/><\/div>\n<p>  \u0417\u0434\u0435\u0441\u044c \u043e\u0448\u0438\u0431\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0430\u0441\u044c \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0443 \u0441\u0438\u043d\u0443\u0441\u0430 \u2014 \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d\u0438 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0437\u0430\u043c\u0430\u0441\u043a\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043f\u0440\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f C#<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">double Sin13(double x) { x *= 0.63661977236758134308; \/\/ 2\/Pi bool sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; if ((xf &amp; 1) == 1) x = 1 - x; bool per = ((xf >> 1) &amp; 1) == 1; double y; if (x &lt;= 0.5) { double xx = x * x; y = x * (1.5707963267948965822 + xx * (-0.6459640975062407217 + xx * (0.07969262624592800593 + xx * (-0.0046817541307639977752 + xx * (0.00016044114022967599853 + xx * (-3.5986097146969802712e-6 + 5.629793865626169033e-8 * xx)))))); } else { x = 1.0 - x; double xx = x * x; y = 1.0 - xx * (1.2337005501361513498 + xx * (-0.25366950789986513871 + xx * (0.020863480734953519901 + xx * (-0.0009192599500952791151 + xx * (0.000025200135454917479526 - 4.6552987291490935821e-7 * xx))))); } return sign^per ? -y : y; }<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f C\/C++<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">double Sin13(double x) { x *= 0.63661977236758134308; \/\/ 2\/Pi int sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; if ((xf &amp; 1) == 1) x = 1 - x; int per = (xf >> 1) &amp; 1; double y; if (x &lt;= 0.5) { double xx = x * x; y = x * (1.5707963267948965822 + xx * (-0.6459640975062407217 + xx * (0.07969262624592800593 + xx * (-0.0046817541307639977752 + xx * (0.00016044114022967599853 + xx * (-3.5986097146969802712e-6 + 5.629793865626169033e-8 * xx)))))); } else { x = 1.0 - x; double xx = x * x; y = 1.0 - xx * (1.2337005501361513498 + xx * (-0.25366950789986513871 + xx * (0.020863480734953519901 + xx * (-0.0009192599500952791151 + xx * (0.000025200135454917479526 - 4.6552987291490935821e-7 * xx))))); } return sign ^ per ? -y : y; }<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0443\u0436\u0435 \u043f\u043e\u0447\u0442\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439, \u043d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0443\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0438\u043c \u043f\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0438\u0442.  <\/div>\n<\/p><\/div>\n<h2><font color=\"#3AC1EF\">\u258d \u0422\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434<\/font><\/h2>\n<p>  \u041d\u0430\u0438\u0432\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u043e\u043c \u043c\u0435\u0442\u043e\u0434\u0435 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0443\u0437\u043b\u043e\u0432\u044b\u0445 \u0442\u043e\u0447\u0435\u043a, \u0430 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u0435\u0439 \u043c\u0435\u0436\u0434\u0443 \u043d\u0438\u043c\u0438. \u0417\u0430\u0440\u0430\u043d\u0435\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u043c\u0435\u044e\u0442\u0441\u044f, \u043d\u043e \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043e\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435 \u0438\u043d\u0442\u0435\u0440\u043f\u043e\u043b\u044f\u0446\u0438\u0435\u0439, \u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0442\u0440\u0438\u0433\u043e\u043d\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0442\u043e\u0436\u0434\u0435\u0441\u0442\u0432\u0430:  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/326\/0fa\/426\/3260fa42649049b3d75ec664b28e9e5a.svg\" alt=\"$\\sin (a+x) = \\sin (a) \\cos (x)+\\cos (a) \\sin (x)$\" data-tex=\"display\"\/><\/p>\n<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0ef\/f83\/ecc\/0eff83ecc1ef3d634322737e53c8bb84.svg\" alt=\"$\\cos (a+x) = \\cos (a) \\cos (x)-\\sin (a) \\sin (x)$\" data-tex=\"display\"\/><\/p>\n<p>  \u0433\u0434\u0435 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/0f0\/72f\/413\/0f072f41348ac11ee5646b973dcdecaa.svg\" alt=\"$\\cos(a)$\" data-tex=\"inline\"\/> \u0438 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d33\/7b7\/4b7\/d337b74b73c88615003aa48d9197e847.svg\" alt=\"$\\sin(a)$\" data-tex=\"inline\"\/> \u0431\u0435\u0440\u0443\u0442\u0441\u044f \u0438\u0437 \u0442\u0430\u0431\u043b\u0438\u0446\u044b, \u0430 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/877\/839\/f21\/877839f21188ef6b6d177c6d5f783848.svg\" alt=\"$\\cos(x)$\" data-tex=\"inline\"\/> \u0438 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/535\/c08\/5bf\/535c085bf1fdaee9aa684315aad5c536.svg\" alt=\"$\\sin(x)$\" data-tex=\"inline\"\/> \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u044e\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u044b \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438. \u042d\u0442\u043e \u0434\u0430\u0451\u0442 \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043d\u043e \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0435 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 2 \u0440\u0430\u0437\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<p>  \u041e\u043f\u0442\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b n \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043c\u0435\u0436\u0434\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/bf1\/905\/9f9\/bf19059f90b7d369e060ad68954622ee.svg\" alt=\"$\\sin(\\frac{x \\pi}{2 n})$\" data-tex=\"inline\"\/>, <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/218\/9f0\/183\/2189f018349e4e4747a4baa1bbcec48a.svg\" alt=\"$\\cos(\\frac{x \\pi}{2 n})$\" data-tex=\"inline\"\/> \u0438 \u0438\u0445 \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0438\u043c\u0438 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430\u043c\u0438 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043d\u0435 \u043f\u0440\u0435\u0432\u044b\u0448\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0439 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438. \u0414\u043b\u044f 5-\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u0437 128-\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0434\u043b\u044f 3-\u0439 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u0436\u0435 1024.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u043a\u043e\u0434 \u0434\u043b\u044f Mathematica<\/b>                         <\/p>\n<div class=\"spoiler_text\"><code>With[{count = 128, n = 5, m = 6},<br \/>  fs = Sin[x Pi\/2\/count];<br \/>  ps = ChebyshevOddApproximation[n, fs, x];<br \/>  fc = Cos[x Pi\/2\/count];<br \/>  pc = ChebyshevEvenApproximation[m, fc, x];<br \/>  Row[{CForm[(ps \/\/ HornerForm) \/. x^2 -> xx] \/\/ Framed,<br \/>  CForm[(pc \/\/ HornerForm) \/. x^2 -> xx] \/\/ Framed}]<br \/>  GraphicsRow[{<br \/>  Plot[fs - ps \/\/ Evaluate, {x, -1, 1}, <br \/>  GridLines -> {(Range[10] - 5)\/5, Automatic}, <br \/>  WorkingPrecision -> 20, Background -> Hue[0.14, 0, 0.98]],<br \/>  Plot[fc - pc \/\/ Evaluate, {x, -1, 1}, <br \/>  GridLines -> {(Range[10] - 5)\/5, Automatic}, <br \/>  WorkingPrecision -> 25, Background -> Hue[0.14, 0, 0.98]]<br \/>  }, ImageSize -> 700, Spacings -> 5] \/\/ Quiet<br \/>  ]<\/code><\/div>\n<\/p><\/div>\n<p>  \u0413\u0440\u0430\u0444\u0438\u043a\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u0434\u043b\u044f 5-\u043e\u0439 (\u0441\u0438\u043d\u0443\u0441) \u0438 6-\u043e\u0439 (\u043a\u043e\u0441\u0438\u043d\u0443\u0441) \u0441\u0442\u0435\u043f\u0435\u043d\u0435\u0439:<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/x1\/1e\/up\/x11eupubi42tc0mvujicwx8-z88.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/x1\/1e\/up\/x11eupubi42tc0mvujicwx8-z88.gif\"\/><\/div>\n<p>  \u041a\u043e\u0434 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0442\u043e\u0436\u0435 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442:<\/p>\n<p>  <code>With[{n = 128}, Table[N[Sin[x Pi\/2], 18], {x, 0, 1, 1\/n}]]<\/code><\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">{0, 0.0122715382857199261, 0.024541228522912288, 0.0368072229413588323,  0.0490676743274180143, 0.0613207363022085778, 0.0735645635996674235,  0.0857973123444398905, 0.098017140329560602, 0.110222207293883059,  0.122410675199216198, 0.134580708507126186, 0.146730474455361752,  0.158858143333861442, 0.170961888760301226, 0.183039887955140959,  0.195090322016128268, 0.20711137619221855, 0.219101240156869797,  0.23105810828067112, 0.24298017990326389, 0.254865659604514572,  0.266712757474898386, 0.278519689385053105, 0.290284677254462368,  0.302005949319228067, 0.313681740398891477, 0.325310292162262934,  0.336889853392220051, 0.348418680249434568, 0.359895036534988149,  0.371317193951837543, 0.382683432365089772, 0.393992040061048109,  0.405241314004989871, 0.416429560097637183, 0.427555093430282094,  0.438616238538527638, 0.4496113296546066, 0.460538710958240024,  0.471396736825997649, 0.482183772079122749, 0.492898192229784037,  0.503538383725717559, 0.514102744193221727, 0.524589682678468906,  0.534997619887097211, 0.545324988422046422, 0.555570233019602225,  0.565731810783613197, 0.575808191417845301, 0.58579785745643886,  0.595699304492433343, 0.605511041404325514, 0.615231590580626845,  0.624859488142386377, 0.634393284163645498, 0.643831542889791465,  0.653172842953776764, 0.662415777590171761, 0.671558954847018401,  0.680600997795453051, 0.689540544737066925, 0.698376249408972854,  0.707106781186547524, 0.715730825283818654, 0.724247082951466921,  0.732654271672412835, 0.740951125354959091, 0.749136394523459325,  0.757208846506484548, 0.765167265622458926, 0.773010453362736961,  0.780737228572094478, 0.788346427626606262, 0.795836904608883536,  0.80320753148064491, 0.810457198252594792, 0.817584813151583697,  0.824589302785025264, 0.831469612302545237, 0.838224705554838043,  0.844853565249707073, 0.851355193105265142, 0.85772861000027207,  0.863972856121586738, 0.870086991108711419, 0.876070094195406607,  0.88192126434835503, 0.887639620402853948, 0.89322430119551532,  0.898674465693953843, 0.903989293123443332, 0.909167983090522377,  0.914209755703530655, 0.919113851690057744, 0.923879532511286756,  0.928506080473215566, 0.932992798834738888, 0.937339011912574923,  0.941544065183020778, 0.945607325380521326, 0.949528180593036667,  0.953306040354193837, 0.956940335732208865, 0.960430519415565811,  0.963776065795439867, 0.966976471044852109, 0.970031253194543993,  0.972939952205560145, 0.975702130038528544, 0.978317370719627633,  0.980785280403230449, 0.983105487431216327, 0.985277642388941245,  0.987301418157858382, 0.989176509964780973, 0.990902635427780025,  0.992479534598709998, 0.993906970002356042, 0.995184726672196886,  0.996312612182778013, 0.997290456678690216, 0.998118112900149207,  0.998795456205172393, 0.999322384588349501, 0.99969881869620422,  0.999924701839144541, 1}<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441\u0438\u043d\u0443\u0441\u0430 \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u0438\u0437 \u043d\u0435\u0451 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0438\u043d\u0434\u0435\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0435\u0451 \u0441 \u043d\u0430\u0447\u0430\u043b\u0430 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0438\u043b\u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. \u0421\u0442\u043e\u0438\u0442 \u0443\u0442\u043e\u0447\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u043f\u043e \u0444\u0430\u043a\u0442\u0443 \u0440\u0430\u0437\u043c\u0435\u0440 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0435\u0434\u0438\u043d\u0438\u0446\u0443 \u0431\u043e\u043b\u044c\u0448\u0435, \u0442\u043e \u0435\u0441\u0442\u044c 129 (\u0438\u0437-\u0437\u0430 \u0437\u0430\u043c\u044b\u043a\u0430\u044e\u0449\u0435\u0439 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0434\u043b\u044f <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/abc\/b2b\/4f1\/abcb2b4f1b0a2f569d0c4a4076547b74.svg\" alt=\"$\\cos(0)$\" data-tex=\"inline\"\/>). \u0421\u0430\u043c \u0436\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u0430\u043a \u0441\u0442\u0435\u043f\u0435\u043d\u044c \u0434\u0432\u043e\u0439\u043a\u0438 \u0432\u044b\u0431\u0440\u0430\u043d \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u043f\u043e\u0442\u0435\u0440\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u0440\u0438 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430 \u0438 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0447\u043d\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/295\/4ca\/d20\/2954cad207cc4b2da01d19bc8e298acc.svg\" alt=\"$\\sin(\\pi \/ 2^k)$\" data-tex=\"inline\"\/> (\u0447\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u0432 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430\u0445 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0424\u0443\u0440\u044c\u0435). \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0435\u0441\u043b\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442 \u0441\u0438\u043d\u0443\u0441\u0430 \u0443\u0434\u043e\u0431\u043d\u0435\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u0434\u0440\u0443\u0433\u0438\u0445 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u2014 \u0441\u043a\u0430\u0436\u0435\u043c, \u0432 \u0433\u0440\u0430\u0434\u0443\u0441\u0430\u0445 \u2014 \u0442\u043e \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0440\u0430\u0437\u0443\u043c\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0440\u0430\u0442\u043d\u044b\u043c 90, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0442\u043e\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0438 \u0446\u0435\u043b\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f C#<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">double[] sincostable = {...};  void SinCos(double x, out double sina, out double cosa) { x *= 0.63661977236758134308; \/\/ 2\/Pi bool sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; bool rev = (xf &amp; 1) == 1; if (rev) x = 1 - x; bool per = ((xf >> 1) &amp; 1) == 1;  double z = x * 128; int zf = (int)z; z -= zf; double sint = sincostable[zf]; double cost = sincostable[128 - zf];  double zz = z * z; double ss = z * (0.012271846303085128928 + zz * (-3.0801968454884792651e-7 + 2.3193461291439683491e-12 * zz)); double cc = 1.0 - zz * (0.000075299105843272081 + zz*(-9.449925567834354484e-10 + 4.7437807891647010749e-15 * zz));  sina = (sign ^ per) ? -sint * cc - cost * ss : sint * cc + cost * ss; cosa = (rev ^ per) ? sint * ss - cost * cc : cost * cc - sint * ss; }<\/code><\/pre>\n<\/div><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0435\u0440\u0441\u0438\u044f \u0434\u043b\u044f C\/C++<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">const double sincostable[]  = {...};  void SinCosByTable(double x, double* sina, double* cosa) { x *= 0.63661977236758134308; \/\/ 2\/Pi int sign = x &lt; 0.0; x = sign ? -x : x; int xf = (int)x; x -= xf; int rev = xf &amp; 1; if (rev) x = 1 - x; int per = (xf >> 1) &amp; 1;  double z = x * 128; int zf = (int)z; z -= zf;  double sint = sincostable[zf]; double cost = sincostable[128 - zf];  double zz = z * z; double ss = z * (0.012271846303085128928 + zz * (-3.0801968454884792651e-7 +  2.3193461291439683491e-12 * zz)); double cc = 1.0 - zz * (0.000075299105843272081 + zz * (-9.449925567834354484e-10 +  4.7437807891647010749e-15 * zz));  *sina = (sign ^ per) ? -sint * cc - cost * ss : sint * cc + cost * ss; *cosa = (rev ^ per) ? sint * ss - cost * cc : cost * cc - sint * ss; }<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0422\u0430\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u043c\u0435\u0442\u043e\u0434 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438 \u043f\u043e-\u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0441\u0438\u043d\u0443\u0441\u0430, \u0435\u0441\u043b\u0438 \u0440\u0430\u0437\u0431\u0438\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/381\/55c\/c6b\/38155cc6bde12a7ea4065d70999cfc39.svg\" alt=\"$(0,\\pi)$\" data-tex=\"inline\"\/> \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u043d\u0435\u0439 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u044b \u0430\u043f\u043f\u0440\u043e\u043a\u0441\u0438\u043c\u0438\u0440\u0443\u044e\u0449\u0438\u0445 \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u043e\u0432 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u043d\u0438\u0445 \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u041d\u043e \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438\/\u043d\u0435\u0447\u0451\u0442\u043d\u043e\u0441\u0442\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u2014 \u0438 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u043e\u0447\u043b\u0435\u043d\u0430 \u0441\u043a\u0430\u0436\u0435\u043c 5-\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438 \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0432\u0441\u0435 6 \u043a\u043e\u044d\u0444\u0444\u0438\u0446\u0438\u0435\u043d\u0442\u043e\u0432 \u2014 \u0447\u0442\u043e \u043d\u0435 \u0434\u0430\u0441\u0442 \u043f\u0440\u0438\u0440\u043e\u0441\u0442\u0430 \u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0437\u0430\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u0438\u0442 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u041a\u0430\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c<\/font><\/h2>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0451\u0442 \u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441 \u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0441 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0438 \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0431\u043b\u0438\u0437\u043a\u043e\u0439 \u043a double \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043d\u0435 \u043f\u0440\u043e\u043a\u0430\u0442\u0438\u0442 \u2014 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u043e\u0436\u0435 \u0438\u043c\u0435\u044e\u0442 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438. \u041c\u043e\u0436\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432 Wolfram Mathematica, \u043d\u043e \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u0435\u0435 \u0438 \u0438\u043c\u0435\u0435\u0442 \u0441\u0432\u043e\u0438 \u0442\u043e\u043d\u043a\u043e\u0441\u0442\u0438, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 double \u043a \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u043c\u0443 \u0434\u0435\u0441\u044f\u0442\u0438\u0447\u043d\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043a\u0430\u0436\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u043b\u0430\u0434\u0448\u0438\u0445 \u0431\u0438\u0442; \u0438\u043b\u0438 \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044e\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441 \u0437\u0430\u0432\u0435\u0434\u043e\u043c\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u0443\u0436\u0435 \u0432 \u043d\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u043f\u0443\u0442\u044c \u2014 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u0441 \u044d\u0442\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u0423 \u043a\u0430\u043a\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0435 \u2014 \u0442\u0430 \u0438 \u0442\u043e\u0447\u043d\u0435\u0435.<\/p>\n<p>  \u0425\u043e\u0440\u043e\u0448\u0438\u043c \u043a\u0430\u043d\u0434\u0438\u0434\u0430\u0442\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0441\u0443\u043c\u043c\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u044b \u0441\u0438\u043d\u0443\u0441\u043e\u0432 \u0441 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438, \u0440\u0430\u0432\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0432 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435 \u043e\u0442 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/d4d\/112\/599\/d4d1125992c039a799d1899993e630e2.svg\" alt=\"$-\\pi$\" data-tex=\"inline\"\/> \u0434\u043e <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/4a2\/2d7\/df5\/4a22d7df5480ab752635de38c7fd774e.svg\" alt=\"$\\pi$\" data-tex=\"inline\"\/>. \u0412\u043e\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043a\u0432\u0430\u0434\u0440\u0430\u0442 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438, \u043a\u043e\u0433\u0434\u0430 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044f \u0432 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u0445 \u0431\u0443\u0434\u0443\u0442 \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043e\u0442\u0440\u0438\u0446\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438. \u041d\u0443 \u0430 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u0447\u0442\u043e \u0438\u043d\u043e\u0435, \u043a\u0430\u043a <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/35b\/a56\/5f3\/35ba565f36734f3a55aa01ac67868762.svg\" alt=\"$n$\" data-tex=\"inline\"\/> (\u0441\u044e\u0440\u043f\u0440\u0438\u0437), \u0442\u043e \u0435\u0441\u0442\u044c:  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/179\/b31\/be8\/179b31be8d5d7dda77a113da3c260d2f.svg\" alt=\"$\\sum _{k=-n}^n \\sin ^2\\left(\\frac{\\pi k}{n}\\right) = n$\" data-tex=\"display\"\/><\/p>\n<p>\u0414\u043b\u044f \u043a\u043e\u0441\u0438\u043d\u0443\u0441\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/842\/d93\/ede\/842d93edebcd0befd8f30510e477a90b.svg\" alt=\"$\\sum _{k=-n}^n \\cos ^2\\left(\\frac{\\pi k}{n}\\right) = n+1$\" data-tex=\"display\"\/><\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/b>                         <\/p>\n<div class=\"spoiler_text\">\u041b\u044e\u0431\u0438\u0442\u0435\u043b\u0438 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u043a\u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u0442\u0438 \u0440\u0430\u0432\u0435\u043d\u0441\u0442\u0432\u0430 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u2014 \u044f \u0436\u0435 \u0438\u0445 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e FullSimplify \u0432 Mathematica.<\/div>\n<\/p><\/div>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0443\u0436\u043d\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u044b (\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 C++ \u043e\u0442 Intel \u0438 Microsoft) \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0441\u043f\u043e\u0437\u043d\u0430\u0442\u044c \u0441\u0443\u043c\u043c\u0443 \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u0435\u0451 \u0432 4 \u043f\u0430\u0440\u0430\u043b\u043b\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0442\u043e\u043a\u0430\u0445 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0445 AVX, \u0447\u0442\u043e \u043f\u0440\u0438 \u0437\u0430\u043c\u0435\u0440\u0430\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0432\u043e\u0441\u0445\u043e\u0434\u0441\u0442\u0432\u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 (\u0434\u0430, \u044f \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u044d\u0442\u0438\u043c). \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u043a\u0430\u0436\u0434\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u0435\u043d\u044f\u0442\u044c \u0437\u043d\u0430\u043a (\u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/1ee\/40f\/ff2\/1ee40fff2f291ae1e613a01d07f9ffbf.svg\" alt=\"$\\sum _{k=-n}^n (-1)^k \\sin ^2\\left(\\frac{\\pi k}{n}\\right)$\" data-tex=\"inline\"\/>), \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u043d\u043e\u043b\u044c (\u0434\u043b\u044f <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/c38\/3d3\/984\/c383d3984107546920949b51d212b17a.svg\" alt=\"$n>2$&#187; data-tex=&#187;inline&#187;\/>). \u041d\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0434\u043e\u0439\u0434\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u043e\u0446\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u043f\u043e \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u044e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u043e\u0442 \u043d\u0443\u043b\u044f \u0443\u0436\u0435 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f \u2014 \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0435\u043d\u0441\u0430\u0446\u0438\u044f \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0435\u0439.<\/p>\n<p>  \u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0446\u0435\u043d\u0430\u0440\u0438\u0438 \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0440\u0430\u0449\u0430\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u044b\u0439 \u0432\u0435\u043a\u0442\u043e\u0440 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u0438\u043b\u0438 \u0436\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043f\u0440\u044f\u043c\u043e\u0435 \u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0435 FFT, \u0438 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0441 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u2014 \u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u043d\u0435 \u0431\u0443\u0434\u0435\u043c \u043d\u0430 \u044d\u0442\u043e\u043c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0432\u044b\u0431\u043e\u0440 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u0438\u043b\u044c\u043d\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0446\u0435\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f.<\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f C#<\/b>                         <\/p>\n<div class=\"spoiler_text\">using System;<br \/>  using System.Diagnostics;<br \/>  \u2026  <\/p>\n<pre><code class=\"cs\">long count = (long)1e9; Stopwatch sw = new Stopwatch(); double sum, secs;  sum = 0.0; sw.Restart(); for (long i = -count; i &lt;= count; i++) { double x = (double)i * Math.PI \/ count; double y = Math.Sin(x); sum += y * y; } secs = sw.ElapsedMilliseconds \/ 1000.0; Console.WriteLine(\"mathsin\\t{0}\\t{1}\", secs, sum - count); ...  \/\/ \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0412\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043b\u044f C\/C++<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cpp\">#define _USE_MATH_DEFINES #include &lt;math.h> #include &lt;time.h> ... long n = (long)1e9; double sum; double sign;  sum = 0; sign = 1; clock_t t = clock(); for (long i = -n; i &lt;= n; i++) { double x = (double)i * M_PI \/ n; double y = sin(x); sum += y * y * sign; sign = -sign; sign = -sign; } t = clock() - t; std::cout &lt;&lt; \"mathsin: dur: \" &lt;&lt; double(t) \/ CLOCKS_PER_SEC &lt;&lt; \", \" &lt;&lt; sum - n &lt;&lt; endl; ...  \/\/ \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u0434\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439<\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\n<p>  \u0412 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0434\u043b\u044f C\/C++ \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0431\u0435\u0441\u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u0432\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u043d\u0438\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0432\u0435\u043a\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438. \u0422\u0430\u043a\u0436\u0435 \u043f\u043e-\u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u0430\u0445, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0443\u0431\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043a\u0443\u0441\u043a\u0438 \u043a\u043e\u0434\u0430 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<\/p>\n<p>  \u0412 \u043e\u0431\u043e\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u0432\u0440\u0435\u043c\u044f \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0430\u0445 \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434. \u0421\u0434\u0435\u043b\u0430\u043d\u043e \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043a \u043e\u0431\u0449\u0435\u043c\u0443 \u0437\u043d\u0430\u043c\u0435\u043d\u0430\u0442\u0435\u043b\u044e \u0438 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0435\u0442\u044c \u043e\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e-\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u0440\u0435\u0434\u0441\u0442\u0432 \u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u043c \u0432 \u0441\u0438 std::chrono. \u041d\u0443 \u0438 \u0437\u0430\u043e\u0434\u043d\u043e \u0441\u0442\u0438\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043a\u043e\u0434 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0434\u043e\u043b\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043a\u043e\u043f\u0438\u043b\u043e\u0441\u044c \u0445\u043e\u0442\u044f \u0431\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<h2><font color=\"#3AC1EF\">\u258d \u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b<\/font><\/h2>\n<p>  \u041f\u0440\u0438 \u0437\u0430\u043c\u0435\u0440\u0430\u0445 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u0431\u044b\u0441\u0442\u0440\u0435\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0438 \u043d\u0430 C#, \u0438 \u043d\u0430 C++ \u0441 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u043c \u043e\u0442 Microsoft. \u041d\u0430 C++ \u0431\u044b\u043b\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f fsincos \u0438\u0437 \u043c\u0430\u0442\u0435\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430 FPU \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u043e\u0432 x86\/x64, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u043e\u0436\u0435 \u0443\u043c\u0435\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u0441\u0438\u043d\u0443\u0441, \u0438 \u043a\u043e\u0441\u0438\u043d\u0443\u0441 \u043e\u0434\u043d\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e. <\/p>\n<p>  \u0421\u0432\u043e\u0434\u043d\u0430\u044f \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u043f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0437\u0430\u043c\u0435\u0440\u043e\u0432 \u043d\u0430 Core i7:  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td>\u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \\ \u0443\u0441\u043a\u043e\u0440\u0435\u043d\u0438\u0435 (\u0432 \u0440\u0430\u0437\u044b)<\/td>\n<td>C# (.NET 4.8)<\/td>\n<td>C++ (VS2019)<\/td>\n<td>C++ vs. C#<\/td>\n<\/tr>\n<tr>\n<td>\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u0430\u044f<\/td>\n<td>1<\/td>\n<td>1<\/td>\n<td>2.8<\/td>\n<\/tr>\n<tr>\n<td>Sin7<\/td>\n<td>6.06<\/td>\n<td>2.07<\/td>\n<td>1.09<\/td>\n<\/tr>\n<tr>\n<td>Sin13<\/td>\n<td>4.08<\/td>\n<td>1.25<\/td>\n<td>1.1<\/td>\n<\/tr>\n<tr>\n<td>SinCos<\/td>\n<td>2.62<\/td>\n<td>1.21<\/td>\n<td>1.3<\/td>\n<\/tr>\n<tr>\n<td>fsincos (FPU)<\/td>\n<td>&#8212;<\/td>\n<td>0.28<\/td>\n<td>&#8212;<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043e\u0434\u043d\u0438\u043c\u0438 \u0438 \u0442\u0435\u043c\u0438 \u0436\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438 \u2014 \u043a\u0430\u043a \u0432\u0438\u0434\u043d\u043e, \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u043d\u0435 \u0442\u0430\u043a\u0430\u044f \u0443\u0436 \u0438 \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f (\u043d\u0435 \u0441\u0447\u0438\u0442\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u0447\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439). \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0421++ \u0431\u043e\u043b\u0435\u0435 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 (\u0447\u0442\u043e \u0442\u043e\u0436\u0435 \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u043e). \u0410 \u0432\u043e\u0442 \u0430\u0441\u0441\u0435\u043c\u0431\u043b\u0435\u0440\u043d\u0430\u044f fsincos \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0430 \u043d\u0430\u0438\u0445\u0443\u0434\u0448\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u0434\u0430\u0436\u0435 \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0435\u0451 \u0430\u043f\u043f\u0430\u0440\u0430\u0442\u043d\u0443\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e.<\/p>\n<p>  \u041a\u0430\u043a \u043e\u0431\u0441\u0442\u043e\u044f\u0442 \u0434\u0435\u043b\u0430 \u0441 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e\u043c \u0434\u0440\u0443\u0433\u0438\u0445 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u043e\u0432 \u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u2014 \u044d\u0442\u043e \u0442\u0435\u043c\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u043c, \u0435\u0441\u043b\u0438 \u0447\u0435\u0441\u0442\u043d\u043e, \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0441\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f. \u041d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0442 \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430.<\/p>\n<p>  \u0418\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441 \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0435\u0439 \u0442\u0430\u043a\u0436\u0435 \u0434\u0430\u043b\u0438 \u0432\u043f\u043e\u043b\u043d\u0435 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0438 \u043d\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u0445 <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/formulas\/35b\/a56\/5f3\/35ba565f36734f3a55aa01ac67868762.svg\" alt=\"$n$\" data-tex=\"inline\"\/> \u0440\u0430\u0437\u043d\u0438\u0446\u044b \u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u0445 \u043d\u0435 \u0431\u044b\u043b\u043e (\u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c Sin7) \u2014 \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u043a\u043e\u043f\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0435\u0439 \u0443\u0436\u0435 \u043e\u0442 \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u043e\u0432. \u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0441\u0443\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u041a\u044d\u0445\u044d\u043d\u0430 \u2014 \u043d\u043e \u044d\u0442\u043e \u0438\u043c\u0435\u043b\u043e \u0431\u044b \u0441\u043c\u044b\u0441\u043b \u043b\u0438\u0448\u044c \u0432 \u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0438 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0442\u043e\u0436\u0435.<\/p>\n<p>  \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439 \u0441\u0442\u043e\u0438\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0431\u0438\u0442 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u0438 \u2014 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0435\u0448\u0430\u0435\u0442 \u0441\u0430\u043c \u0434\u043b\u044f \u0441\u0435\u0431\u044f \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u0438\u0447\u043d\u043e \u044f \u0441\u0430\u043c \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u043f\u043e\u0433\u0440\u0435\u0448\u043d\u043e\u0441\u0442\u044c \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0431\u0438\u0442 \u0438\u043c\u0435\u0435\u0442 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u0430\u0436\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u2014 \u0442\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 double \u0442\u0443\u0442 \u044f\u0432\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0438 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0434\u0440\u0443\u0433\u0438\u0435 \u0442\u0438\u043f\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u0422\u0430\u043a\u0436\u0435 \u0434\u043b\u044f \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0435\u0445\u043d\u0438\u043a\u0438 \u2014 \u043d\u043e \u044d\u0442\u043e \u0442\u0435\u043c\u0430 \u0443\u0436\u0435 \u0434\u043b\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  <a href=\"http:\/\/ruvds.com\/ru-rub?utm_source=habr&amp;utm_medium=article&amp;utm_campaign=Refridgerator&amp;utm_content=kak_poschitat_sinus_bystree_vsex_na_xabre\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ou\/g5\/kh\/oug5kh6sjydt9llengsiebnp40w.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ou\/g5\/kh\/oug5kh6sjydt9llengsiebnp40w.png\"\/><\/a><\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \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\/584460\/\"> https:\/\/habr.com\/ru\/articles\/584460\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><a href=\"https:\/\/habr.com\/ru\/company\/ruvds\/blog\/584460\/\"><\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/po\/2v\/fo\/po2vfouzpb2kjhqc7gcpseksmne.gif\" data-src=\"https:\/\/habrastorage.org\/webt\/po\/2v\/fo\/po2vfouzpb2kjhqc7gcpseksmne.gif\"\/><\/div>\n<p><\/a><br \/>  \u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0441\u0432\u043e\u044e \u043a\u0430\u0436\u0443\u0449\u0443\u044e\u0441\u044f \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c, \u0442\u0435\u043c\u044b \u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u0438 \u0441\u0438\u043d\u0443\u0441\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0445\u0430\u0431\u0440\u0435. \u0418 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0438\u0445 \u0430\u0432\u0442\u043e\u0440\u044b \u0438\u043b\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f, \u0438\u043b\u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u044e\u0442 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b. \u041d\u0435 \u0432 \u0441\u0438\u043b\u0430\u0445 \u0431\u043e\u043b\u0435\u0435 \u0442\u0435\u0440\u043f\u0435\u0442\u044c, \u044f \u0442\u043e\u0436\u0435 \u0440\u0435\u0448\u0438\u043b \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u043d\u0435\u0441\u0442\u0438 \u0441\u0432\u043e\u0439, \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0432\u043a\u043b\u0430\u0434 \u0432 \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-409887","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/409887","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=409887"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/409887\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=409887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=409887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=409887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}