Наибольший общий делитель — различия между версиями
(→Стандартный алгоритм Евклида) |
(→Наибольший общий делитель как максимальное число, делящее два данных числа) |
||
| Строка 1: | Строка 1: | ||
| − | == | + | ==Определение== |
{{Определение | {{Определение | ||
|definition= | |definition= | ||
| − | ''' | + | '''Наибольший общий делитель''' (англ. <tex>\gcd</tex> {{---}} ''greatest common divisor'') для двух целых чисел <tex>m</tex> и <tex>n</tex> называется наибольший из их общих делителей. Более формально, |
| + | <tex>\gcd(a, b) =\max \left\{ d \mid a \equiv 0 \left(\bmod d\right), b \equiv 0 \left(\bmod d\right) \right\}</tex> | ||
}} | }} | ||
| − | |||
| − | Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел | + | Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел <tex>m</tex> или <tex>n</tex> не ноль. |
| − | + | Понятие наибольшего общего делителя естественным образом обобщается на наборы из более чем двух целых чисел: | |
| − | |||
| − | |||
| − | |||
| − | + | {{Определение | |
| + | |definition= | ||
| + | '''Наибольший общий делитель''' для целочисленного множества <tex>A</tex> определяется как | ||
| + | <tex>\gcd(A) = \max \left\{ d \mid \forall a_j \in A,\: a_j \equiv 0 \left(\bmod d \right)\right\}</tex> | ||
| + | }} | ||
==Алгоритм Евклида== | ==Алгоритм Евклида== | ||
Версия 16:25, 30 января 2017
Содержание
Определение
| Определение: |
| Наибольший общий делитель (англ. — greatest common divisor) для двух целых чисел и называется наибольший из их общих делителей. Более формально, |
Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел или не ноль.
Понятие наибольшего общего делителя естественным образом обобщается на наборы из более чем двух целых чисел:
| Определение: |
| Наибольший общий делитель для целочисленного множества определяется как |
Алгоритм Евклида
Стандартный алгоритм Евклида
Пусть и — целые числа, не равные одновременно нулю, и последовательность чисел
определена тем, что каждое — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть
Тогда НОД(a,b), наибольший общий делитель и , равен , последнему ненулевому члену этой последовательности.
Существование таких , то есть возможность деления с остатком на для любого целого и целого , доказывается индукцией по m.
Корректность этого алгоритма вытекает из следующих двух утверждений:
| Лемма: |
Пусть , тогда |
| Доказательство: |
|
Пусть k — любой общий делитель чисел a и b, не обязательно максимальный, тогда ; где и — целые числа из определения.
|
| Лемма: |
для любого ненулевого |
Проще сформулировать алгоритм Евклида так: если даны натуральные числа и и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД.
Расширенный алгоритм Евклида
Формулы для могут быть переписаны следующим образом:
здесь s и t целые. Это представление наибольшего общего делителя называется соотношением Безу, а числа s и t — коэффициентами Безу. Соотношение Безу является ключевым в доказательстве леммы Евклида и основной теоремы арифметики.
Связь с цепными дробями
Отношение допускает представление в виде цепной дроби:
- .
При этом цепная дробь без последнего члена равна отношению коэффициентов Безу , взятому со знаком минус:
- .