Наибольший общий делитель — различия между версиями
(→Алгоритм Евклида) |
(→Стандартный алгоритм Евклида) |
||
Строка 90: | Строка 90: | ||
|statement=<tex>\gcd (0,r) = r</tex> для любого ненулевого <tex>r.</tex> | |statement=<tex>\gcd (0,r) = r</tex> для любого ненулевого <tex>r.</tex> | ||
}} | }} | ||
+ | Далее, оценим асимптотику работы алгоритма. | ||
+ | {{Теорема | ||
+ | |statement= | ||
+ | Алгоритм Евклида работает за <tex>O(\log \max (a, b))</tex> | ||
+ | }} | ||
+ | Доказательство этого факта<ref>[http://mathworld.wolfram.com/EuclideanAlgorithm.html Wolfram MathWorld {{---}} алгоритм Евклида]</ref> достаточно громоздкое, поэтому не будем приводить его здесь. | ||
Проще сформулировать алгоритм Евклида так: если даны натуральные числа <tex>a</tex> и <tex>b</tex> и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД. | Проще сформулировать алгоритм Евклида так: если даны натуральные числа <tex>a</tex> и <tex>b</tex> и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД. |
Версия 01:04, 31 января 2017
Содержание
Определение
Определение: |
Наибольшим общим делителем (англ. | — greatest common divisor) для двух целых чисел и называется наибольшее натуральное , такое что делится на и делится на . Более формально,
Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел или не ноль.
Понятие наибольшего общего делителя естественным образом обобщается на наборы из более чем двух целых чисел:
Определение: |
Наибольший общий делитель для целочисленного множества | определяется как
Существует определение НОД через разложение числа на простые множители:
Утверждение: |
Пусть и - натуральные числа. Тогда |
Очевидно, что в таком случае Пусть и на делятся на . Проверим его максимальность. Пусть существует , такое что и делятся на . Тогда оно необходимо будет раскладываться на те же простые множители, что и . . Значит, существует . Из этого следует, что либо , либо . Но в первом случае, не окажется делителем , а во втором — . |
Связь с наименьшим общим кратным
Определение: |
Наименьшим общим кратным (англ. | — least common multiple) для двух чисел и называется наименьшее натуральное число, которое делится на и без остатка. Более формально
Существует представление НОК через разложение числа на простые множители:
Утверждение: |
Пусть и - натуральные числа. Тогда |
Доказательство полностью аналогично доказательству утверждения о НОД, с той лишь разницей, что мы заменяем на , а знаки неравенств — на противоположные. |
Наибольший общий делитель связан с наименьшим общим кратным следующим равенством:
Лемма: |
Пусть и — целые числа. Тогда . |
Доказательство: |
По утверждению о НОД и утверждению о НОК, пользуясь тем, что , получаем нашу лемму. |
Алгоритм Вычисления
Наивный алгоритм
Стандартный алгоритм Евклида
Пусть
и — целые числа, не равные одновременно нулю, и последовательность чиселопределена тем, что каждое
— это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то естьТогда НОД(a,b), наибольший общий делитель
и , равен , последнему ненулевому члену этой последовательности.Существование таких
, то есть возможность деления с остатком на для любого целого и целого , доказывается индукцией по m.Корректность этого алгоритма вытекает из следующих двух утверждений:
Лемма: |
Пусть , тогда |
Доказательство: |
Пусть k — любой общий делитель чисел a и b, не обязательно максимальный, тогда ; где и — целые числа из определения.
|
Лемма: |
для любого ненулевого |
Далее, оценим асимптотику работы алгоритма.
Теорема: |
Алгоритм Евклида работает за |
Доказательство этого факта[1] достаточно громоздкое, поэтому не будем приводить его здесь.
Проще сформулировать алгоритм Евклида так: если даны натуральные числа
и и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД.Расширенный алгоритм Евклида
Формулы для
могут быть переписаны следующим образом:здесь s и t целые. Это представление наибольшего общего делителя называется соотношением Безу, а числа s и t — коэффициентами Безу. Соотношение Безу является ключевым в доказательстве леммы Евклида и основной теоремы арифметики.
Связь с цепными дробями
Отношение
допускает представление в виде цепной дроби:- .
При этом цепная дробь без последнего члена равна отношению коэффициентов Безу
, взятому со знаком минус:- .