Википедия

Алгоритм Евклида

Алгори́тм Евкли́да — эффективный алгоритм для нахождения наибольшего общего делителя двух целых чисел (или общей меры двух отрезков). Алгоритм назван в честь греческого математика Евклида (III век до н. э.), который впервые описал его в VII и X книгах «Начал». Это один из старейших численных алгоритмов, используемых в наше время.

В самом простом случае алгоритм Евклида применяется к паре положительных целых чисел и формирует новую пару, которая состоит из меньшего числа и остатка от деления большего числа на меньшее. Процесс повторяется, пока числа не станут равными. Найденное число и есть наибольший общий делитель исходной пары. Евклид предложил алгоритм только для натуральных чисел и геометрических величин (длин, площадей, объёмов). Однако в XIX веке он был обобщён на другие типы математических объектов, включая целые числа Гаусса и полиномы от одной переменной. Это привело к появлению в современной общей алгебре такого понятия, как евклидово кольцо. Позже алгоритм Евклида был обобщён на другие математические структуры, такие как узлы и многомерные полиномы.

Для данного алгоритма существует множество теоретических и практических применений. В частности, он является основой для криптографического алгоритма с открытым ключом RSA, широко распространённого в электронной коммерции. Также алгоритм используется при решении линейных диофантовых уравнений, при построении непрерывных дробей, в методе Штурма. Алгоритм Евклида является основным инструментом для доказательства теорем в современной теории чисел, например таких как теорема Лагранжа о сумме четырёх квадратов и основная теорема арифметики.

История

Древнегреческие математики называли этот алгоритм ἀνθυφαίρεσις или ἀνταναίρεσις — «взаимное вычитание». Этот алгоритм не был открыт Евклидом, так как упоминание о нём имеется уже в Топике Аристотеля (IV век до н. э.). В «Началах» Евклида он описан дважды — в VII книге для нахождения наибольшего общего делителя двух натуральных чисел и в X книге для нахождения наибольшей общей меры двух однородных величин. В обоих случаях дано геометрическое описание алгоритма, для нахождения «общей меры» двух отрезков.

Историками математики было выдвинуто предположение, что именно с помощью алгоритма Евклида (процедуры последовательного взаимного вычитания) в древнегреческой математике впервые было открыто существование несоизмеримых величин (стороны и диагонали квадрата, или стороны и диагонали правильного пятиугольника). Впрочем, это предположение не имеет достаточных документальных подтверждений. Алгоритм для поиска наибольшего общего делителя двух натуральных чисел описан также в I книге древнекитайского трактата Математика в девяти книгах.

Описание

Алгоритм Евклида для целых чисел

Пусть image и image — целые числа, не равные одновременно нулю, и последовательность чисел

image

определена тем, что каждое image — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть:

image
image
image
image
image
image
image
image

Тогда image, наибольший общий делитель image и image, равен image, последнему ненулевому члену этой последовательности.

Существование таких image, то есть возможность деления с остатком image на image для любого целого image и целого ненулевого image, доказывается индукцией по image.

Корректность алгоритма вытекает из следующих двух утверждений:

I. Пусть image, тогда image

II. image для любого ненулевого image (так как 0 делится на любое целое число).

Геометрический алгоритм Евклида

Пусть даны два отрезка длины image и image. Вычтем из большего отрезка меньший и заменим больший отрезок полученной разностью. Повторяем эту операцию, вычитая из большего отрезка меньший, пока отрезки не станут равны. Если это произойдёт, то исходные отрезки соизмеримы, и последний полученный отрезок есть их наибольшая общая мера. Если общей меры нет, то процесс бесконечен. В таком виде алгоритм описан Евклидом и реализуется с помощью циркуля и линейки.

Пример

Для иллюстрации алгоритм Евклида будет использован, чтобы найти image image и image. Для начала от 1071 отнимем кратное значение 462, пока не получим разность меньше, чем 462. Мы должны дважды отнять 462, (image), оставаясь с остатком 147:

image

Затем от 462 отнимем кратное значение 147, пока не получим разность меньше, чем 147. Мы должны трижды отнять 147 (image), оставаясь с остатком 21:

image

Затем от 147 отнимем кратное значение 21, пока не получим разность меньше, чем 21. Мы должны семь раз отнять 21 (image), оставаясь без остатка:

image

Таким образом последовательность image в данном конкретном случае будет выглядеть так:

image

Так как последний остаток равен нулю, то алгоритм заканчивается числом 21 и image

В табличной форме шаги были следующие:

Шаг k Равенство Частное и остаток
0 1071 = q0 462 + r0 q0 = 2 и r0 = 147
1 462 = q1 147 + r1 q1 = 3 и r1 = 21
2 147 = q2 21 + r2 q2 = 7 и r2 = 0; алгоритм заканчивается

Если требуется найти image для более чем двух чисел, алгоритм аналогичен, на каждом шаге все числа, кроме наименьшего, заменяются остатками по модулю наименьшего. Нулевые остатки, если получатся, вычёркиваются. Алгоритм завершается, когда остаётся одно ненулевое число, это и есть image.

Применения

Расширенный алгоритм Евклида и соотношение Безу

Формулы для image могут быть переписаны следующим образом:

image
image
image
image

Здесь image и image целые. Это представление наибольшего общего делителя называется соотношением Безу, а числа image и image — коэффициентами Безу. Соотношение Безу является ключевым в доказательстве леммы Евклида и основной теоремы арифметики.

Цепные дроби

Алгоритм Евклида достаточно тесно связан с цепными дробями. Отношение image допускает представление в виде цепной дроби:

image.

При этом цепная дробь без последнего члена равна отношению коэффициентов Безу image, взятому со знаком минус

image.

Последовательность равенств, задающая алгоритм Евклида, может быть переписана в форме:

image

Последнее слагаемое в правой части равенства всегда равно обратному значению левой части следующего уравнения. Поэтому первые два уравнения могут быть объединены в форме:

image

Третье равенство может быть использовано, чтобы заменить знаменатель выражения image, получим:

image

Последнее отношение остатков image всегда может быть заменено с использованием следующего равенства в последовательности, и так до последнего уравнения. Результатом является цепная дробь:

image

В приведённом выше примере image был посчитан и были найдены частные image, равные 2, 3 и 7 соответственно. Поэтому image может быть записана как:

image

Линейные диофантовы уравнения

Диофантово уравнение — это уравнение с целочисленными коэффициентами и с одним или несколькими переменными, причём ставится задача поиска лишь его целых корней. Такое уравнение может иметь бесконечно много решений, конечное число решений или не иметь их вовсе. Простейшее диофантово уравнение — линейное с двумя неизвестными:

image

где image — целые числа. С помощью алгоритма Евклида может быть найдено полное решение уравнения такого типа. Сначала с помощью этого алгоритма можно определить image Затем, используя расширенный алгоритм Евклида, определяются такие image и image, что:

image

То есть image и image — это частное решение уравнения при image. Получается, что если image, то image, image — частное решение исходного уравнения, так как:

image

Обратно, если существует хотя бы одно решение уравнения, то image кратно image. Это следует из того, что image делит и image, и image (а значит, и всю левую часть), поэтому должно делить и image (правую часть). Таким образом, линейное диофантово уравнение имеет хотя бы одно решение тогда и только тогда, когда image кратно image

Вариации и обобщения

Евклидово кольцо

Кольца, в которых применим алгоритм Евклида, называются евклидовыми кольцами. К ним относятся, в частности, кольца целых чисел и кольца многочленов.

Обобщённый алгоритм Евклида для многочленов

Алгоритм Евклида и расширенный алгоритм Евклида естественным образом обобщается на кольцо многочленов k[x] от одной переменной над произвольным полем k, поскольку для таких многочленов определена операция деления с остатком. При выполнении алгоритма Евклида для многочленов аналогично алгоритму Евклида для целых чисел получается последовательность полиномиальных остатков (PRS).

Ускоренные версии алгоритма

  • Одним из методов ускорения целочисленного алгоритма Евклида является использование симметричного остатка:
image
где
image
  • Одна из версий ускоренного алгоритма Евклида для полиномов основывается на том, что промежуточные значения алгоритма в основном зависят от высоких степеней. Применение стратегии «разделяй и властвуй» позволяет уменьшить асимптотическую сложность алгоритма.

Вычислительная сложность алгоритма

image
Число шагов в алгоритме Евклида для НОД(x,y). Более светлые точки (красные и жёлтые) указывают на относительно меньшее количество шагов, тогда как более тёмные точки (фиолетовые и синие) на большее количество шагов. Самая большая тёмная область следует за прямой y = Φx, где Φ — золотое сечение.

Вычислительная сложность алгоритма Евклида изучена полностью. Эта сложность может быть описана произведением количества шагов деления, требуемых алгоритмом, на вычислительную сложность одного шага. Первый известный анализ алгоритма Евклида был предложен Рейнаудом в 1811. Он показал, что число шагов алгоритма для пары чисел image ограничено image. Позже он улучшил оценку до image. Эмиль Леже в 1837 году изучил наихудший случай, когда для вычисления image подаются последовательные числа Фибоначчи. Затем, в 1841 году, Пьер Джосеф Финк показал, что количество шагов алгоритма не превышает image Следовательно, алгоритм работает за полиномиальное время от размера меньшего из пары чисел image. Анализ Финка был уточнён Габриэлем Ламе в 1844 году. Он показал, что количество шагов, необходимых для завершения алгоритма, не более чем в пять раз превышает image — количество цифр в десятичном представлении меньшего из пары чисел image.

Когда image вычисляется для чисел, которые вписываются в одно машинное слово, каждый шаг алгоритма занимает постоянное время. В данном случае анализ Ламе предполагает, что вычислительная сложность оценивается как image Однако в модели расчёта, подходящей для вычислений с числами больше одного машинного слова, оценка сложности вычисления одного остатка может быть image В этом случае общее время для всех этапов алгоритма можно проанализировать с помощью телескопического ряда, показав, что это также image Для ускорения алгоритма Евклида могут быть использованы современные алгоритмические методы, основанные на методе Шёнхаге — Штрассена для быстрого целочисленного умножения. Это приводит к квазиполиномиальному времени.

Количество шагов

Число шагов для вычисления image обозначим как image Если image — это наибольший общий делитель image и image тогда image и image для двух взаимно простых чисел image и image Тогда image что можно заметить, если разделить уравнения, полученные при вычислении image, на image Используя тот же принцип, число шагов алгоритма остаётся неизменным, если image и image умножаются на общий множитель w, что эквивалентно равенству image Следовательно, количество шагов image может сильно различаться между соседними парами чисел, такими как image и image так как данная величина зависит от image.

Рекурсивный характер алгоритма Евклида даёт следующее уравнение image где image по предположению.

Наихудший случай

Если для алгоритма Евклида требуются N шагов для пары натуральных чисел a > b > 0, наименьшие значения a и b, для которых это выполняется — числа Фибоначчи FN+2 и FN+1 соответственно. Тогда, если алгоритм Евклида требует N шагов для пары чисел (a,b), где a > b, выполняются следующие неравенства a ≥ FN+2 и b ≥ FN+1. Доказать это можно по математической индукции. Если N = 1, тогда a делится на b без остатка. Наименьшие натуральные числа, для которых это верно, равны b = 1 и a = 2, соответственно F2 и F3. Предположим теперь, что результат выполняется для всех значений N до M − 1. Первый шаг алгоритма Евклида с M шагами a = q0b + r0, и алгоритм Евклида для пары чисел (b,r0), где b > r0, требует M − 1 шагов. По предположению индукции имеем b ≥ FM+1 и r0 ≥ FM. Следовательно, a = q0b + r0 ≥ b + r0 ≥ FM+1 + FM = FM+2, что является искомым неравенством. Это доказательство, опубликованное Габриэлем Ламе в 1844 году, представляет собой начало теории сложности вычислений, а также первое практическое применение чисел Фибоначчи.

Теорема Ламе

Число делений с остатком в процессе применения алгоритма Евклида не превосходит упятеренного количества цифр меньшего числа image, записанного в десятичной системе.

Среднее

Существуют различные способы вычисления среднего количества шагов алгоритма. Первый способ вычисления — среднее время T(a), необходимое для вычисления НОД заданного числа a и меньшего натурального числа b, выбранного с равной вероятностью из целых чисел от 0 до a − 1.

image

Однако, поскольку T(a, b) сильно колеблется в зависимости от НОД двух чисел, усреднённая функция T(a) также является «шумной». Для того, чтобы уменьшить этот шум, второе среднее τ(a) берётся по всем числам, взаимно простым с a.

image

где φ(a) функция Эйлера. Это среднее плавно растёт с ростом a.

image

Константа (константа Портера) в этой формуле image, а ε является бесконечно малым.

Третье среднее значение Y(n) определяется как среднее число шагов, требуемых, когда a и b выбираются случайным образом (с равномерным распределением) от 1 до n.

image

Вычислительная сложность шага

На каждом шаге алгоритма Евклида вычисляется коэффициент qk и остаток rk для заданной пары целых чисел rk−2 и rk−1. Эти величины связаны следующим соотношением:

rk−2 = qkrk−1 + rk

Вычислительная сложность каждого шага связана главным образом с нахождением qk, так как остаток rk можно быстро вычислить, используя rk−2, rk−1, и qk

rk = rk−2qkrk−1

Вычислительная сложность операции деления чисел размером h бит оценивается как O(h(+1)), где размер частного.

Для сравнения, исходный алгоритм Евклида, с использованием вычитания, может быть намного медленнее. В большинстве случаев коэффициент qk является малым числом. Вероятность данного частного q примерно равна ln|u/(u − 1)|, где u = (q + 1)2. Для иллюстрации вероятность частного 1, 2, 3 или 4 составляет примерно 41,5 %, 17,0 %, 9,3 % и 5,9 % соответственно. Так как операция вычитания быстрее, чем деление, особенно для чисел больше одного машинного слова, алгоритм Евклида с использованием вычитания может быть более конкурентоспособным в сравнении с алгоритмом, использующим деление. Это используется в бинарном алгоритме вычисления НОД.

Оценка сложности алгоритма вычисляется как произведение количества шагов на время выполнения одного шага. Она показывает, что алгоритм Евклида растёт квадратично O(h2), где h — среднее число цифр в двух начальных числах a и b в десятичной записи. Пусть h0, h1, …, hN−1 представляют число цифр в последовательных остатках r0r1, …, rN−1. Так как число шагов N растёт линейно с h, время работы ограничено следующим выражением:

image

Примечания

  1. Мордухай-Болтовской, 1949, с. 11—13.
  2. Мордухай-Болтовской, 1949, с. 103—105.
  3. Кнут, 2001, с. 378.
  4. Menezes, 1996, с. 286.
  5. Курант, 2001, с. 74—76.
  6. Виноградов, 1952, с. 14—18.
  7. Энгелер, 1987, с. 24—31.
  8. Тихомиров, 2003, с. 11—14.
  9. Калужин, 1969, с. 6—14.
  10. Цейтен, 1932, с. 112—114.
  11. Виноградов, 1952, с. 9—10.
  12. Курант, 2001, с. 67—70.
  13. Хассе, 1953, с. 29—30.
  14. Курош, 1973, с. 91—92.
  15. Панкратьев, 2007, с. 54—58.
  16. Gathen, 2013, с. 313—326.
  17. Knuth, 1997, с. 344.
  18. Shallit, 1994, с. 414.
  19. Shallit, 1994, с. 401—419.
  20. Shallit, 1994, с. 413.
  21. Lame, 1844, с. 867—870.
  22. Grossman, 1924, с. 443.
  23. Абрамов С. А. Математические построения и программирование. — М., Наука, 1978. — Тираж 100 000 экз. — c. 170
  24. Knuth, 1997, с. 257—261.
  25. Moeller, 2005, с. 1.
  26. Ore, 1948, с. 45.
  27. Knuth, 1997, с. 343.
  28. LeVeque, 1996, с. 3.
  29. Абрамов С. А. Математические построения и программирование. — М., Наука, 1978. — Тираж 100 000 экз. — c. 170
  30. Knuth, 1997, с. 353.
  31. Tonkov, 1974, с. 47—57.
  32. Weisstein, Eric W. Porter's Constant (англ.) на сайте Wolfram MathWorld.
  33. Knuth, 1997, с. 352.
  34. Wagon, 1999, с. 335—336.
  35. Cohen, 1993, с. 14.
  36. Cohen, 1993, с. 14—15, 17-18.

Литература

  • Абрамов С. А. Самый знаменитый алгоритм // Квант / под ред. И. К. Кикоин, Ю. Осипьян, В. В. Козлов, А. Л. Семенов, А. ГайфуллинМИАН, 1985. — вып. 11. — С. 44—46. — ISSN 0130-2221
  • Виноградов И. М. Основы теории чисел. — М.Л.: ГИТТЛ, 1952. — 180 с. — ISBN 978-5-811-40535-0.
  • Калужин Л. А. Основная теорема арифметики. — Популярные лекции по математике. — М.: Наука, 1969. — 33 с.
  • Кнут Д. Э. Искусство программирования. — Вильямс, 2001. — Т. 2. — 829 с. — ISBN 5-8459-0081-6.
  • Курант Р., Роббинс Г. Дополнение к главе I, § 4. // Что такое математика? — 3-e изд., испр. и доп. — М., 2001. — 568 с. — ISBN 5-900916-45-6.
  • Курош А. Г. Лекции по общей алгебре / под ред. О. Н. Головин — 2-е изд. — М.: Наука, 1973. — 400 с. — ISBN 978-5-8114-0617-3
  • Начала Евклида / пер.с греч. и комм. Д. Д. Мордухая-Болтовского под ред. Выгодского М. Я. и Веселовского И. Н.. — ГИТТЛ, 1949. — Т. 2. — 511 с.
  • Панкратьев Е. В. Элементы компьютерной алгебры. — ИНТУИТ, 2007. — 217 с. — ISBN 978-5-955-60099-4.
  • Тихомиров В. М. Великие математики прошлого и их великие теоремы. — 2-е изд., испр. — МЦНМО, 2003. — 16 с. — ISBN 5-94057-110-7.
  • Хассе Г. Лекции по теории чисел. — Изд. иностранной литературы, 1953. — 527 с.
  • Цейтен Г. Г. История математики в Древности и в Средние века. — ГТТИ, 1932. — 232 с.
  • Энгелер Э. Метаматематика элементарной математики. — М.: Мир, 1987. — 128 с.
  • Cohen H. A Course in Computational Algebraic Number Theory. — Springer-Verlag, 1993. — ISBN 0-387-55640-0.
  • von zur Gathen J., Gerhard J. Modern Computer Algebra. — Cambridge University Press, 2013. — 808 с. — ISBN 978-1-107-03903-2.
  • Grossman H. On the Number of Divisions in Finding a G.C.D. (англ.) // The American Mathematical Monthly. — 1924. — Vol. 31, iss. 9. — P. 443. — doi:10.2307/2298146. — JSTOR 2298146.
  • Knuth D. E. The Art of Computer Programming. — 3. — Addison–Wesley, 1997. — Т. 2: Seminumerical Algorithms. — ISBN 0-201-89684-2.
  • Lamé G. Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers (фр.). — Comptes Rendus Acad. Sci., 1844. — No 19.
  • LeVeque W. J. Fundamentals of Number Theory (англ.). — Dover, 1996. — ISBN 0-486-68906-9.
  • Menezes A., van Oorschot P., Vanstone S. Handbook of Applied Cryptography. — CRC-Press, 1996. — 816 с. — (Discrete Mathematics and Its Applications). — ISBN 0-8493-8523-7.
  • Moeller Niels. Mathematics of Computation (англ.). — 2005.
  • Ore O. Number Theory and Its History (англ.). — McGraw–Hill, 1948.
  • Shallit J. Origins of the analysis of the Euclidean algorithm (англ.) // Historia Math.. — 1994. — Vol. 21. — doi:10.1006/hmat.1994.1031.
  • Tonkov T. On the average length of finite continued fractions (англ.) // Acta Arithmetica. — 1974. — Vol. 26.
  • Wagon S. Mathematica in Action (англ.). — Springer-Verlag, 1999. — ISBN 0-387-98252-3. Архивировано 7 октября 2022 года.

Ссылки

  • Реализация алгоритма Евклида на языке Pascal
  • Алгоритм Евклида на e-maxx.ru
  • Реализация расширенного алгоритма Евклида на языке C

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Алгоритм Евклида, Что такое Алгоритм Евклида? Что означает Алгоритм Евклида?

Algori tm Evkli da effektivnyj algoritm dlya nahozhdeniya naibolshego obshego delitelya dvuh celyh chisel ili obshej mery dvuh otrezkov Algoritm nazvan v chest grecheskogo matematika Evklida III vek do n e kotoryj vpervye opisal ego v VII i X knigah Nachal Eto odin iz starejshih chislennyh algoritmov ispolzuemyh v nashe vremya V samom prostom sluchae algoritm Evklida primenyaetsya k pare polozhitelnyh celyh chisel i formiruet novuyu paru kotoraya sostoit iz menshego chisla i ostatka ot deleniya bolshego chisla na menshee Process povtoryaetsya poka chisla ne stanut ravnymi Najdennoe chislo i est naibolshij obshij delitel ishodnoj pary Evklid predlozhil algoritm tolko dlya naturalnyh chisel i geometricheskih velichin dlin ploshadej obyomov Odnako v XIX veke on byl obobshyon na drugie tipy matematicheskih obektov vklyuchaya celye chisla Gaussa i polinomy ot odnoj peremennoj Eto privelo k poyavleniyu v sovremennoj obshej algebre takogo ponyatiya kak evklidovo kolco Pozzhe algoritm Evklida byl obobshyon na drugie matematicheskie struktury takie kak uzly i mnogomernye polinomy Dlya dannogo algoritma sushestvuet mnozhestvo teoreticheskih i prakticheskih primenenij V chastnosti on yavlyaetsya osnovoj dlya kriptograficheskogo algoritma s otkrytym klyuchom RSA shiroko rasprostranyonnogo v elektronnoj kommercii Takzhe algoritm ispolzuetsya pri reshenii linejnyh diofantovyh uravnenij pri postroenii nepreryvnyh drobej v metode Shturma Algoritm Evklida yavlyaetsya osnovnym instrumentom dlya dokazatelstva teorem v sovremennoj teorii chisel naprimer takih kak teorema Lagranzha o summe chetyryoh kvadratov i osnovnaya teorema arifmetiki IstoriyaDrevnegrecheskie matematiki nazyvali etot algoritm ἀn8yfairesis ili ἀntanairesis vzaimnoe vychitanie Etot algoritm ne byl otkryt Evklidom tak kak upominanie o nyom imeetsya uzhe v Topike Aristotelya IV vek do n e V Nachalah Evklida on opisan dvazhdy v VII knige dlya nahozhdeniya naibolshego obshego delitelya dvuh naturalnyh chisel i v X knige dlya nahozhdeniya naibolshej obshej mery dvuh odnorodnyh velichin V oboih sluchayah dano geometricheskoe opisanie algoritma dlya nahozhdeniya obshej mery dvuh otrezkov Istorikami matematiki bylo vydvinuto predpolozhenie chto imenno s pomoshyu algoritma Evklida procedury posledovatelnogo vzaimnogo vychitaniya v drevnegrecheskoj matematike vpervye bylo otkryto sushestvovanie nesoizmerimyh velichin storony i diagonali kvadrata ili storony i diagonali pravilnogo pyatiugolnika Vprochem eto predpolozhenie ne imeet dostatochnyh dokumentalnyh podtverzhdenij Algoritm dlya poiska naibolshego obshego delitelya dvuh naturalnyh chisel opisan takzhe v I knige drevnekitajskogo traktata Matematika v devyati knigah OpisanieAlgoritm Evklida dlya celyh chisel Pust a displaystyle a i b displaystyle b celye chisla ne ravnye odnovremenno nulyu i posledovatelnost chisel a gt b gt r1 gt r2 gt r3 gt r4 gt gt rn displaystyle a gt b gt r 1 gt r 2 gt r 3 gt r 4 gt dots gt r n opredelena tem chto kazhdoe rk displaystyle r k eto ostatok ot deleniya predpredydushego chisla na predydushee a predposlednee delitsya na poslednee nacelo to est a bq0 r1 displaystyle a bq 0 r 1 b r1q1 r2 displaystyle b r 1 q 1 r 2 r1 r2q2 r3 displaystyle r 1 r 2 q 2 r 3 displaystyle cdots rk 2 rk 1qk 1 rk displaystyle r k 2 r k 1 q k 1 r k displaystyle cdots rn 2 rn 1qn 1 rn displaystyle r n 2 r n 1 q n 1 r n rn 1 rnqn displaystyle r n 1 r n q n Togda NOD a b displaystyle text NOD a b naibolshij obshij delitel a displaystyle a i b displaystyle b raven rn displaystyle r n poslednemu nenulevomu chlenu etoj posledovatelnosti Sushestvovanie takih r1 r2 rn displaystyle r 1 r 2 r n to est vozmozhnost deleniya s ostatkom m displaystyle m na n displaystyle n dlya lyubogo celogo m displaystyle m i celogo nenulevogo n displaystyle n dokazyvaetsya indukciej po m displaystyle m Korrektnost algoritma vytekaet iz sleduyushih dvuh utverzhdenij I Pust a bq r displaystyle a bq r togda NOD a b NOD b r displaystyle text NOD a b text NOD b r DokazatelstvoPust k lyuboj obshij delitel chisel a i b ne obyazatelno naibolshij togda a t1 k i b t2 k gde t1 i t2 celye chisla iz opredeleniya Togda k yavlyaetsya takzhe obshim delitelem chisel b i r tak kak b delitsya na k po opredeleniyu a r a b q t1 t2 q k displaystyle r a b cdot q t 1 t 2 cdot q cdot k vyrazhenie v skobkah est celoe chislo sledovatelno k delit r bez ostatka Obratnoe takzhe verno i dokazyvaetsya analogichno punktu 2 lyuboj delitel b i r tak zhe yavlyaetsya delitelem a i b Sledovatelno vse obshie deliteli par chisel a b i b r sovpadayut Drugimi slovami net obshego delitelya u chisel a b kotoryj ne byl by takzhe delitelem b r i naoborot V chastnosti naibolshij obshij delitel ostayotsya tem zhe samym tak kak v predpolozhenii chto NOD a b gt NOD b r ili NOD a b lt NOD b r poluchayutsya protivorechiya sledovatelno NOD a b NOD b r Chto i trebovalos dokazat II NOD r 0 r displaystyle text NOD r 0 r dlya lyubogo nenulevogo r displaystyle r tak kak 0 delitsya na lyuboe celoe chislo Geometricheskij algoritm Evklida Pust dany dva otrezka dliny a displaystyle a i b displaystyle b Vychtem iz bolshego otrezka menshij i zamenim bolshij otrezok poluchennoj raznostyu Povtoryaem etu operaciyu vychitaya iz bolshego otrezka menshij poka otrezki ne stanut ravny Esli eto proizojdyot to ishodnye otrezki soizmerimy i poslednij poluchennyj otrezok est ih naibolshaya obshaya mera Esli obshej mery net to process beskonechen V takom vide algoritm opisan Evklidom i realizuetsya s pomoshyu cirkulya i linejki Primer Dlya illyustracii algoritm Evklida budet ispolzovan chtoby najti NOD displaystyle text NOD a 1071 displaystyle a 1071 i b 462 displaystyle b 462 Dlya nachala ot 1071 otnimem kratnoe znachenie 462 poka ne poluchim raznost menshe chem 462 My dolzhny dvazhdy otnyat 462 q0 2 displaystyle q 0 2 ostavayas s ostatkom 147 1071 2 462 147 displaystyle 1071 2 cdot 462 147 Zatem ot 462 otnimem kratnoe znachenie 147 poka ne poluchim raznost menshe chem 147 My dolzhny trizhdy otnyat 147 q1 3 displaystyle q 1 3 ostavayas s ostatkom 21 462 3 147 21 displaystyle 462 3 cdot 147 21 Zatem ot 147 otnimem kratnoe znachenie 21 poka ne poluchim raznost menshe chem 21 My dolzhny sem raz otnyat 21 q2 7 displaystyle q 2 7 ostavayas bez ostatka 147 7 21 0 displaystyle 147 7 cdot 21 0 Takim obrazom posledovatelnost a gt b gt r1 gt r2 gt r3 gt gt rn displaystyle a gt b gt r 1 gt r 2 gt r 3 gt dots gt r n v dannom konkretnom sluchae budet vyglyadet tak 1071 gt 462 gt 147 gt 21 displaystyle 1071 gt 462 gt 147 gt 21 Tak kak poslednij ostatok raven nulyu to algoritm zakanchivaetsya chislom 21 i NOD 1071 462 21 displaystyle text NOD 1071 462 21 V tablichnoj forme shagi byli sleduyushie Shag k Ravenstvo Chastnoe i ostatok0 1071 q0 462 r0 q0 2 i r0 1471 462 q1 147 r1 q1 3 i r1 212 147 q2 21 r2 q2 7 i r2 0 algoritm zakanchivaetsya Esli trebuetsya najti NOD displaystyle text NOD dlya bolee chem dvuh chisel algoritm analogichen na kazhdom shage vse chisla krome naimenshego zamenyayutsya ostatkami po modulyu naimenshego Nulevye ostatki esli poluchatsya vychyorkivayutsya Algoritm zavershaetsya kogda ostayotsya odno nenulevoe chislo eto i est NOD displaystyle text NOD PrimeneniyaRasshirennyj algoritm Evklida i sootnoshenie Bezu Osnovnaya statya Sootnoshenie Bezu Formuly dlya ri displaystyle r i mogut byt perepisany sleduyushim obrazom r1 a b q0 displaystyle r 1 a b q 0 r2 b r1q1 a q1 b 1 q1q0 displaystyle r 2 b r 1 q 1 a q 1 b 1 q 1 q 0 displaystyle NOD a b rn as bt displaystyle text NOD a b r n as bt Zdes s displaystyle s i t displaystyle t celye Eto predstavlenie naibolshego obshego delitelya nazyvaetsya sootnosheniem Bezu a chisla s displaystyle s i t displaystyle t koefficientami Bezu Sootnoshenie Bezu yavlyaetsya klyuchevym v dokazatelstve lemmy Evklida i osnovnoj teoremy arifmetiki Cepnye drobi Algoritm Evklida dostatochno tesno svyazan s cepnymi drobyami Otnoshenie ab displaystyle frac a b dopuskaet predstavlenie v vide cepnoj drobi ab q0 q1 q2 qn displaystyle frac a b q 0 q 1 q 2 cdots q n dd Pri etom cepnaya drob bez poslednego chlena ravna otnosheniyu koefficientov Bezu ts displaystyle frac t s vzyatomu so znakom minus q0 q1 q2 qn 1 ts displaystyle q 0 q 1 q 2 cdots q n 1 frac t s dd Posledovatelnost ravenstv zadayushaya algoritm Evklida mozhet byt perepisana v forme ab q0 r0bbr0 q1 r1r0r0r1 q2 r2r1 rk 2rk 1 qk rkrk 1 rN 2rN 1 qN displaystyle begin aligned frac a b amp q 0 frac r 0 b frac b r 0 amp q 1 frac r 1 r 0 frac r 0 r 1 amp q 2 frac r 2 r 1 amp vdots frac r k 2 r k 1 amp q k frac r k r k 1 amp vdots frac r N 2 r N 1 amp q N end aligned Poslednee slagaemoe v pravoj chasti ravenstva vsegda ravno obratnomu znacheniyu levoj chasti sleduyushego uravneniya Poetomu pervye dva uravneniya mogut byt obedineny v forme ab q0 1q1 r1r0 displaystyle frac a b q 0 cfrac 1 q 1 cfrac r 1 r 0 Trete ravenstvo mozhet byt ispolzovano chtoby zamenit znamenatel vyrazheniya r1r0 displaystyle frac r 1 r 0 poluchim ab q0 1q1 1q2 r2r1 displaystyle frac a b q 0 cfrac 1 q 1 cfrac 1 q 2 cfrac r 2 r 1 Poslednee otnoshenie ostatkov rkrk 1 displaystyle frac r k r k 1 vsegda mozhet byt zameneno s ispolzovaniem sleduyushego ravenstva v posledovatelnosti i tak do poslednego uravneniya Rezultatom yavlyaetsya cepnaya drob ab q0 1q1 1q2 1 1qN q0 q1 q2 qN displaystyle frac a b q 0 cfrac 1 q 1 cfrac 1 q 2 cfrac 1 ddots cfrac 1 q N q 0 q 1 q 2 ldots q N V privedyonnom vyshe primere NOD 1071 462 displaystyle text NOD 1071 462 byl poschitan i byli najdeny chastnye qk displaystyle q k ravnye 2 3 i 7 sootvetstvenno Poetomu 1071462 displaystyle frac 1071 462 mozhet byt zapisana kak 1071462 2 13 17 2 3 7 displaystyle frac 1071 462 2 cfrac 1 3 cfrac 1 7 2 3 7 Linejnye diofantovy uravneniya Diofantovo uravnenie eto uravnenie s celochislennymi koefficientami i s odnim ili neskolkimi peremennymi prichyom stavitsya zadacha poiska lish ego celyh kornej Takoe uravnenie mozhet imet beskonechno mnogo reshenij konechnoe chislo reshenij ili ne imet ih vovse Prostejshee diofantovo uravnenie linejnoe s dvumya neizvestnymi ax by c displaystyle ax by c gde a b c displaystyle a b c celye chisla S pomoshyu algoritma Evklida mozhet byt najdeno polnoe reshenie uravneniya takogo tipa Snachala s pomoshyu etogo algoritma mozhno opredelit d NOD a b displaystyle d text NOD a b Zatem ispolzuya rasshirennyj algoritm Evklida opredelyayutsya takie k displaystyle k i l displaystyle l chto ak bl d displaystyle ak bl d To est x k displaystyle x k i y l displaystyle y l eto chastnoe reshenie uravneniya pri c d displaystyle c d Poluchaetsya chto esli c qd displaystyle c qd to x qk displaystyle x qk y ql displaystyle y ql chastnoe reshenie ishodnogo uravneniya tak kak ax by a qk b ql q ak bl qd c displaystyle ax by a qk b ql q ak bl qd c Obratno esli sushestvuet hotya by odno reshenie uravneniya to c displaystyle c kratno d displaystyle d Eto sleduet iz togo chto d displaystyle d delit i a displaystyle a i b displaystyle b a znachit i vsyu levuyu chast poetomu dolzhno delit i c displaystyle c pravuyu chast Takim obrazom linejnoe diofantovo uravnenie imeet hotya by odno reshenie togda i tolko togda kogda c displaystyle c kratno NOD a b displaystyle text NOD a b Variacii i obobsheniyaEvklidovo kolco Kolca v kotoryh primenim algoritm Evklida nazyvayutsya evklidovymi kolcami K nim otnosyatsya v chastnosti kolca celyh chisel i kolca mnogochlenov Obobshyonnyj algoritm Evklida dlya mnogochlenov Algoritm Evklida i rasshirennyj algoritm Evklida estestvennym obrazom obobshaetsya na kolco mnogochlenov k x ot odnoj peremennoj nad proizvolnym polem k poskolku dlya takih mnogochlenov opredelena operaciya deleniya s ostatkom Pri vypolnenii algoritma Evklida dlya mnogochlenov analogichno algoritmu Evklida dlya celyh chisel poluchaetsya posledovatelnost polinomialnyh ostatkov PRS Primer dlya kolca Z x Pust cont f po opredeleniyu NOD koefficientov mnogochlena f x displaystyle f x iz Z x displaystyle Z x soderzhanie mnogochlena Chastnoe ot deleniya f x na cont f nazyvaetsya primitivnoj chastyu mnogochlena f x i oboznachaetsya primpart f x Eti opredeleniya ponadobyatsya dlya nahozhdeniya NOD dvuh mnogochlenov p1 x i p2 x v kolce Z x displaystyle Z x Dlya mnogochlenov nad celymi chislami verno sleduyushee cont displaystyle cont NOD p1 x p2 x displaystyle p 1 x p 2 x NOD cont p1 x cont p2 x displaystyle cont p 1 x cont p 2 x primpart displaystyle primpart NOD p1 x p2 x displaystyle p 1 x p 2 x NOD primpart p1 x primpart p2 x displaystyle primpart p 1 x primpart p 2 x Takim obrazom zadacha poiska NOD dvuh proizvolnyh mnogochlenov svoditsya k zadache poiska NOD primitivnyh polinomov Pust est dva primitivnyh mnogochlena p1 x i p2 x iz Z x dlya kotoryh vypolnyaetsya sootnoshenie mezhdu ih stepenyami deg p1 x m i deg p2 x n m gt n Delenie mnogochlenov s ostatkom predpolagaet tochnuyu delimost starshego koefficienta delimogo na starshij koefficient delitelya v obshem sluchae delenie s ostatkom vypolnit nevozmozhno Poetomu vvodyat algoritm psevdodeleniya kotoryj vsyo zhe pozvolyaet poluchit psevdochastnoe i psevdoostatok prem kotorye budut sami po sebe prinadlezhat mnozhestvu mnogochlenov nad celymi chislami Pod psevdodeleniem budem ponimat chto samomu deleniyu predshestvuet umnozhenie polinoma p1 x displaystyle p 1 x na lc p2 x m n 1 displaystyle lc p 2 x m n 1 to est lc p2 x m n 1p1 x p2 x q x r2 x deg r x lt deg p2 x displaystyle lc p 2 x m n 1 p 1 x p 2 x q x r 2 x deg r x lt deg p 2 x gde q x displaystyle q x i r x displaystyle r x sootvetstvenno psevdochastnoe i psevdoostatok Itak p1 x p2 x Z x displaystyle p 1 x p 2 x in Z x prichyom deg p1 n1 deg p2 n2 displaystyle deg p 1 n 1 geq deg p 2 n 2 Togda algoritm Evklida sostoit iz sleduyushih shagov 1 Vychislenie NOD soderzhanij c displaystyle c NOD cont p1 cont p2 displaystyle cont p 1 cont p 2 2 Vychislenie primitivnyh chastej p1 x primpart p1 x displaystyle p 1 x primpart p 1 x p2 x primpart p2 x displaystyle p 2 x primpart p 2 x 3 Postroenie posledovatelnosti polinomialnyh ostatkov p1 x displaystyle p 1 x p2 x displaystyle p 2 x p3 x prem p1 x p2 x displaystyle p 3 x prem p 1 x p 2 x p4 x prem p2 x p3 x displaystyle p 4 x prem p 2 x p 3 x p5 x prem p3 x p4 x displaystyle p 5 x prem p 3 x p 4 x displaystyle ph x prem ph 2 x ph 1 x displaystyle p h x prem p h 2 x p h 1 x 4 Vozvrat rezultata Esli deg ph x 0 displaystyle deg p h x 0 to vernut c displaystyle c inache vernut c primpart ph x displaystyle c cdot primpart p h x Uskorennye versii algoritma Odnim iz metodov uskoreniya celochislennogo algoritma Evklida yavlyaetsya ispolzovanie simmetrichnogo ostatka ri ri 2 modri 1 displaystyle r i equiv r i 2 pmod r i 1 dd gde ri 12 ri ri 12 displaystyle frac r i 1 2 leq r i leq frac r i 1 2 dd Odna iz versij uskorennogo algoritma Evklida dlya polinomov osnovyvaetsya na tom chto promezhutochnye znacheniya algoritma v osnovnom zavisyat ot vysokih stepenej Primenenie strategii razdelyaj i vlastvuj pozvolyaet umenshit asimptoticheskuyu slozhnost algoritma Vychislitelnaya slozhnost algoritmaChislo shagov v algoritme Evklida dlya NOD x y Bolee svetlye tochki krasnye i zhyoltye ukazyvayut na otnositelno menshee kolichestvo shagov togda kak bolee tyomnye tochki fioletovye i sinie na bolshee kolichestvo shagov Samaya bolshaya tyomnaya oblast sleduet za pryamoj y Fx gde F zolotoe sechenie Vychislitelnaya slozhnost algoritma Evklida izuchena polnostyu Eta slozhnost mozhet byt opisana proizvedeniem kolichestva shagov deleniya trebuemyh algoritmom na vychislitelnuyu slozhnost odnogo shaga Pervyj izvestnyj analiz algoritma Evklida byl predlozhen Rejnaudom v 1811 On pokazal chto chislo shagov algoritma dlya pary chisel u v displaystyle u v ogranicheno v displaystyle v Pozzhe on uluchshil ocenku do v2 2 displaystyle frac v 2 2 Emil Lezhe v 1837 godu izuchil naihudshij sluchaj kogda dlya vychisleniya NOD displaystyle text NOD podayutsya posledovatelnye chisla Fibonachchi Zatem v 1841 godu Per Dzhosef Fink pokazal chto kolichestvo shagov algoritma ne prevyshaet 2log2 v 1 displaystyle 2 log 2 v 1 Sledovatelno algoritm rabotaet za polinomialnoe vremya ot razmera menshego iz pary chisel u v displaystyle u v Analiz Finka byl utochnyon Gabrielem Lame v 1844 godu On pokazal chto kolichestvo shagov neobhodimyh dlya zaversheniya algoritma ne bolee chem v pyat raz prevyshaet h displaystyle h kolichestvo cifr v desyatichnom predstavlenii menshego iz pary chisel u v displaystyle u v Kogda NOD displaystyle text NOD vychislyaetsya dlya chisel kotorye vpisyvayutsya v odno mashinnoe slovo kazhdyj shag algoritma zanimaet postoyannoe vremya V dannom sluchae analiz Lame predpolagaet chto vychislitelnaya slozhnost ocenivaetsya kak O h displaystyle O h Odnako v modeli raschyota podhodyashej dlya vychislenij s chislami bolshe odnogo mashinnogo slova ocenka slozhnosti vychisleniya odnogo ostatka mozhet byt O h2 displaystyle O h 2 V etom sluchae obshee vremya dlya vseh etapov algoritma mozhno proanalizirovat s pomoshyu teleskopicheskogo ryada pokazav chto eto takzhe O h2 displaystyle O h 2 Dlya uskoreniya algoritma Evklida mogut byt ispolzovany sovremennye algoritmicheskie metody osnovannye na metode Shyonhage Shtrassena dlya bystrogo celochislennogo umnozheniya Eto privodit k kvazipolinomialnomu vremeni Kolichestvo shagov Chislo shagov dlya vychisleniya NOD a b displaystyle text NOD a b oboznachim kak T a b displaystyle T a b Esli g displaystyle g eto naibolshij obshij delitel a displaystyle a i b displaystyle b togda a mg displaystyle a mg i b ng displaystyle b ng dlya dvuh vzaimno prostyh chisel m displaystyle m i n displaystyle n Togda T a b T m n displaystyle T a b T m n chto mozhno zametit esli razdelit uravneniya poluchennye pri vychislenii NOD a b displaystyle text NOD a b na g displaystyle g Ispolzuya tot zhe princip chislo shagov algoritma ostayotsya neizmennym esli a displaystyle a i b displaystyle b umnozhayutsya na obshij mnozhitel w chto ekvivalentno ravenstvu T a b T wa wb displaystyle T a b T wa wb Sledovatelno kolichestvo shagov T displaystyle T mozhet silno razlichatsya mezhdu sosednimi parami chisel takimi kak a b displaystyle a b i a b 1 displaystyle a b 1 tak kak dannaya velichina zavisit ot NOD displaystyle text NOD Rekursivnyj harakter algoritma Evklida dayot sleduyushee uravnenie T a b 1 T b r0 2 T r0 r1 N T rN 2 rN 1 N 1 displaystyle T a b 1 T b r 0 2 T r 0 r 1 N T r N 2 r N 1 N 1 gde T x 0 0 displaystyle T x 0 0 po predpolozheniyu Naihudshij sluchaj Esli dlya algoritma Evklida trebuyutsya N shagov dlya pary naturalnyh chisel a gt b gt 0 naimenshie znacheniya a i b dlya kotoryh eto vypolnyaetsya chisla Fibonachchi FN 2 i FN 1 sootvetstvenno Togda esli algoritm Evklida trebuet N shagov dlya pary chisel a b gde a gt b vypolnyayutsya sleduyushie neravenstva a FN 2 i b FN 1 Dokazat eto mozhno po matematicheskoj indukcii Esli N 1 togda a delitsya na b bez ostatka Naimenshie naturalnye chisla dlya kotoryh eto verno ravny b 1 i a 2 sootvetstvenno F2 i F3 Predpolozhim teper chto rezultat vypolnyaetsya dlya vseh znachenij N do M 1 Pervyj shag algoritma Evklida s M shagami a q0b r0 i algoritm Evklida dlya pary chisel b r0 gde b gt r0 trebuet M 1 shagov Po predpolozheniyu indukcii imeem b FM 1 i r0 FM Sledovatelno a q0b r0 b r0 FM 1 FM FM 2 chto yavlyaetsya iskomym neravenstvom Eto dokazatelstvo opublikovannoe Gabrielem Lame v 1844 godu predstavlyaet soboj nachalo teorii slozhnosti vychislenij a takzhe pervoe prakticheskoe primenenie chisel Fibonachchi Teorema Lame Chislo delenij s ostatkom v processe primeneniya algoritma Evklida ne prevoshodit upyaterennogo kolichestva cifr menshego chisla b displaystyle b zapisannogo v desyatichnoj sisteme Srednee Sushestvuyut razlichnye sposoby vychisleniya srednego kolichestva shagov algoritma Pervyj sposob vychisleniya srednee vremya T a neobhodimoe dlya vychisleniya NOD zadannogo chisla a i menshego naturalnogo chisla b vybrannogo s ravnoj veroyatnostyu iz celyh chisel ot 0 do a 1 T a 1a 0 b lt aT a b displaystyle T a frac 1 a sum 0 leq b lt a T a b Odnako poskolku T a b silno kolebletsya v zavisimosti ot NOD dvuh chisel usrednyonnaya funkciya T a takzhe yavlyaetsya shumnoj Dlya togo chtoby umenshit etot shum vtoroe srednee t a beryotsya po vsem chislam vzaimno prostym s a t a 1f a 0 b lt agcd a b 1T a b displaystyle tau a frac 1 varphi a sum begin smallmatrix 0 leq b lt a gcd a b 1 end smallmatrix T a b gde f a funkciya Ejlera Eto srednee plavno rastyot s rostom a t a 12p2ln 2ln a C O a 1 6 e displaystyle tau a frac 12 pi 2 ln 2 ln a C O a 1 6 varepsilon Konstanta konstanta Portera v etoj formule C 1 467 displaystyle C approx 1 467 a e yavlyaetsya beskonechno malym Trete srednee znachenie Y n opredelyaetsya kak srednee chislo shagov trebuemyh kogda a i b vybirayutsya sluchajnym obrazom s ravnomernym raspredeleniem ot 1 do n Y n 1n2 a 1n b 1nT a b 1n a 1nT a displaystyle Y n frac 1 n 2 sum a 1 n sum b 1 n T a b frac 1 n sum a 1 n T a Vychislitelnaya slozhnost shaga Na kazhdom shage algoritma Evklida vychislyaetsya koefficient qk i ostatok rk dlya zadannoj pary celyh chisel rk 2 i rk 1 Eti velichiny svyazany sleduyushim sootnosheniem rk 2 qkrk 1 rk Vychislitelnaya slozhnost kazhdogo shaga svyazana glavnym obrazom s nahozhdeniem qk tak kak ostatok rk mozhno bystro vychislit ispolzuya rk 2 rk 1 i qk rk rk 2 qkrk 1 Vychislitelnaya slozhnost operacii deleniya chisel razmerom h bit ocenivaetsya kak O h ℓ 1 gde ℓ razmer chastnogo Dlya sravneniya ishodnyj algoritm Evklida s ispolzovaniem vychitaniya mozhet byt namnogo medlennee V bolshinstve sluchaev koefficient qk yavlyaetsya malym chislom Veroyatnost dannogo chastnogo q primerno ravna ln u u 1 gde u q 1 2 Dlya illyustracii veroyatnost chastnogo 1 2 3 ili 4 sostavlyaet primerno 41 5 17 0 9 3 i 5 9 sootvetstvenno Tak kak operaciya vychitaniya bystree chem delenie osobenno dlya chisel bolshe odnogo mashinnogo slova algoritm Evklida s ispolzovaniem vychitaniya mozhet byt bolee konkurentosposobnym v sravnenii s algoritmom ispolzuyushim delenie Eto ispolzuetsya v binarnom algoritme vychisleniya NOD Ocenka slozhnosti algoritma vychislyaetsya kak proizvedenie kolichestva shagov na vremya vypolneniya odnogo shaga Ona pokazyvaet chto algoritm Evklida rastyot kvadratichno O h2 gde h srednee chislo cifr v dvuh nachalnyh chislah a i b v desyatichnoj zapisi Pust h0 h1 hN 1 predstavlyayut chislo cifr v posledovatelnyh ostatkah r0 r1 rN 1 Tak kak chislo shagov N rastyot linejno s h vremya raboty ogranicheno sleduyushim vyrazheniem O i lt Nhi hi hi 1 2 O h i lt N hi hi 1 2 O h h0 2N O h2 displaystyle O Big sum i lt N h i h i h i 1 2 Big subseteq O Big h sum i lt N h i h i 1 2 Big subseteq O h h 0 2N subseteq O h 2 PrimechaniyaMorduhaj Boltovskoj 1949 s 11 13 Morduhaj Boltovskoj 1949 s 103 105 Knut 2001 s 378 Menezes 1996 s 286 Kurant 2001 s 74 76 Vinogradov 1952 s 14 18 Engeler 1987 s 24 31 Tihomirov 2003 s 11 14 Kaluzhin 1969 s 6 14 Cejten 1932 s 112 114 Vinogradov 1952 s 9 10 Kurant 2001 s 67 70 Hasse 1953 s 29 30 Kurosh 1973 s 91 92 Pankratev 2007 s 54 58 Gathen 2013 s 313 326 Knuth 1997 s 344 Shallit 1994 s 414 Shallit 1994 s 401 419 Shallit 1994 s 413 Lame 1844 s 867 870 Grossman 1924 s 443 Abramov S A Matematicheskie postroeniya i programmirovanie M Nauka 1978 Tirazh 100 000 ekz c 170 Knuth 1997 s 257 261 Moeller 2005 s 1 Ore 1948 s 45 Knuth 1997 s 343 LeVeque 1996 s 3 Abramov S A Matematicheskie postroeniya i programmirovanie M Nauka 1978 Tirazh 100 000 ekz c 170 Knuth 1997 s 353 Tonkov 1974 s 47 57 Weisstein Eric W Porter s Constant angl na sajte Wolfram MathWorld Knuth 1997 s 352 Wagon 1999 s 335 336 Cohen 1993 s 14 Cohen 1993 s 14 15 17 18 LiteraturaAbramov S A Samyj znamenityj algoritm Kvant pod red I K Kikoin Yu Osipyan V V Kozlov A L Semenov A Gajfullin MIAN 1985 vyp 11 S 44 46 ISSN 0130 2221 Vinogradov I M Osnovy teorii chisel M L GITTL 1952 180 s ISBN 978 5 811 40535 0 Kaluzhin L A Osnovnaya teorema arifmetiki Populyarnye lekcii po matematike M Nauka 1969 33 s Knut D E Iskusstvo programmirovaniya Vilyams 2001 T 2 829 s ISBN 5 8459 0081 6 Kurant R Robbins G Dopolnenie k glave I 4 Chto takoe matematika 3 e izd ispr i dop M 2001 568 s ISBN 5 900916 45 6 Kurosh A G Lekcii po obshej algebre pod red O N Golovin 2 e izd M Nauka 1973 400 s ISBN 978 5 8114 0617 3 Nachala Evklida per s grech i komm D D Morduhaya Boltovskogo pod red Vygodskogo M Ya i Veselovskogo I N GITTL 1949 T 2 511 s Pankratev E V Elementy kompyuternoj algebry INTUIT 2007 217 s ISBN 978 5 955 60099 4 Tihomirov V M Velikie matematiki proshlogo i ih velikie teoremy 2 e izd ispr MCNMO 2003 16 s ISBN 5 94057 110 7 Hasse G Lekcii po teorii chisel Izd inostrannoj literatury 1953 527 s Cejten G G Istoriya matematiki v Drevnosti i v Srednie veka GTTI 1932 232 s Engeler E Metamatematika elementarnoj matematiki M Mir 1987 128 s Cohen H A Course in Computational Algebraic Number Theory Springer Verlag 1993 ISBN 0 387 55640 0 von zur Gathen J Gerhard J Modern Computer Algebra Cambridge University Press 2013 808 s ISBN 978 1 107 03903 2 Grossman H On the Number of Divisions in Finding a G C D angl The American Mathematical Monthly 1924 Vol 31 iss 9 P 443 doi 10 2307 2298146 JSTOR 2298146 Knuth D E The Art of Computer Programming 3 Addison Wesley 1997 T 2 Seminumerical Algorithms ISBN 0 201 89684 2 Lame G Note sur la limite du nombre des divisions dans la recherche du plus grand commun diviseur entre deux nombres entiers fr Comptes Rendus Acad Sci 1844 No 19 LeVeque W J Fundamentals of Number Theory angl Dover 1996 ISBN 0 486 68906 9 Menezes A van Oorschot P Vanstone S Handbook of Applied Cryptography CRC Press 1996 816 s Discrete Mathematics and Its Applications ISBN 0 8493 8523 7 Moeller Niels Mathematics of Computation angl 2005 Ore O Number Theory and Its History angl McGraw Hill 1948 Shallit J Origins of the analysis of the Euclidean algorithm angl Historia Math 1994 Vol 21 doi 10 1006 hmat 1994 1031 Tonkov T On the average length of finite continued fractions angl Acta Arithmetica 1974 Vol 26 Wagon S Mathematica in Action angl Springer Verlag 1999 ISBN 0 387 98252 3 Arhivirovano 7 oktyabrya 2022 goda SsylkiV rodstvennyh proektahKnigi v VikiuchebnikeMediafajly na Vikisklade Realizaciya algoritma Evklida na yazyke PascalAlgoritm Evklida na e maxx ru Realizaciya rasshirennogo algoritma Evklida na yazyke C

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто