\documentclass[a4paper,oneside]{article} \usepackage[utf8]{inputenc} \usepackage[T2A]{fontenc} \usepackage[english,russian]{babel} \usepackage{amsmath} \usepackage{mathtools} \usepackage{amsfonts} \usepackage{enumitem} \usepackage{amsthm} \usepackage{minted} \setminted{fontsize=\small, breaklines=true, style=emacs, linenos} \usepackage{graphicx} \graphicspath{ {./images/} } \usepackage{float} \newtheorem{theorem}{Теорема}[subsection] \newtheorem*{theorem*}{Теорема} % --- Определение --- % \theoremstyle{definition} \newtheorem{definition}{Определение}[subsection] \newtheorem*{definition*}{Определение} % ------------------- % \title{{Алгоритмы алгебры и теории чисел}\\{Лабораторная работа №12}} \author{Гущин Андрей, 431 группа, 1 подгруппа} \date{\the\year{} г.} \begin{document} \maketitle \section{Задача} Осуществить факторизацию с помощью алгоритма Диксона. \section{Алгоритм} Алгоритм Диксона — алгоритм факторизации, использующий в своей основе идею Лежандра, заключающуюся в поиске пары целых чисел $x$ и $y$ таких, что $x^2 \equiv y^2\pmod{n}$ и $x \not\equiv \pm y\pmod{n}$. Он является обобщением метода Ферма. В общем виде алгоритм можно представить следующим образом: \begin{enumerate} \item Составить факторную базу ${\displaystyle \mathrm {B} =\left\{{p_{1},p_{2},\dots ,p_{h}}\right\}}$, состоящую из всех простых чисел ${\displaystyle p \leq M = L\left({n}\right)^{\frac {1}{2}}}$, где ${\displaystyle L\left({n}\right)=\exp {\left({\sqrt {\ln {n}\cdot \ln {\ln {n}}}}\right)}}$. \item Выбрать такое случайное $b$, что $\sqrt{n}