Наибольший общий делитель — различия между версиями
(→Расширенный алгоритм Евклида) |
(→Стандартный алгоритм Евклида) |
||
Строка 22: | Строка 22: | ||
===Стандартный алгоритм Евклида=== | ===Стандартный алгоритм Евклида=== | ||
− | Пусть < | + | Пусть <tex>a</tex> и <tex>b</tex> — целые числа, не равные одновременно нулю, и последовательность чисел |
− | : < | + | : <tex> a,\, b,\,r_1 > r_2 > r_3 > r_4 > \cdots >r_n</tex> |
− | определена тем, что каждое < | + | определена тем, что каждое <tex>r_k</tex> — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть |
− | : < | + | : <tex>a = bq_0 + r_1</tex> |
− | : < | + | : <tex>b = r_1q_1 + r_2</tex> |
− | : < | + | : <tex>r_1 = r_2q_2 + r_3</tex> |
− | : < | + | : <tex>\cdots</tex> |
− | : < | + | : <tex>r_{k-2} = r_{k-1} q_{k-1} + r_k</tex> |
− | : < | + | : <tex>\cdots</tex> |
− | : < | + | : <tex>r_{n-1} = r_n q_n</tex> |
− | Тогда НОД(''a'',''b''), наибольший общий делитель < | + | Тогда НОД(''a'',''b''), наибольший общий делитель <tex>a</tex> и <tex>b</tex>, равен |
− | < | + | <tex>r_n</tex>, последнему ненулевому члену этой последовательности. |
− | '''Существование''' таких < | + | '''Существование''' таких <tex>r_1, r_2, ...</tex>, то есть возможность деления с остатком <tex>m</tex> на <tex>n</tex> для любого целого <tex>m</tex> и целого <tex>n\ne 0</tex>, доказывается индукцией по ''m''. |
'''Корректность''' этого алгоритма вытекает из следующих двух утверждений: | '''Корректность''' этого алгоритма вытекает из следующих двух утверждений: | ||
− | * Пусть < | + | * Пусть <tex>a = bq + r</tex>, тогда <tex>\gcd (a,b) = \gcd (b,r).</tex> |
{{Hider| | {{Hider| | ||
title = '''Доказательство'''| | title = '''Доказательство'''| | ||
Строка 46: | Строка 46: | ||
content-style = text-align: left; | | content-style = text-align: left; | | ||
content = | content = | ||
− | # Пусть k — любой общий делитель чисел a и b, не обязательно максимальный, тогда < | + | # Пусть k — любой общий делитель чисел a и b, не обязательно максимальный, тогда <tex> a = t_1 * k </tex> ; <tex> b = t_2 * k; </tex> где <tex> t_1 </tex> и <tex> t_2 </tex> — целые числа из определения. |
− | # Тогда k также общий делитель чисел b и r, так как b делится на k по определению, а < | + | # Тогда k также общий делитель чисел b и r, так как b делится на k по определению, а <tex>r = a - bq = (t_1 - t_2*q)*k </tex> (выражение в скобках есть целое число, следовательно, k делит r без остатка) |
# Обратное также верно и доказывается аналогично 2) - любой делитель b и r так же является делителем a и b. | # Обратное также верно и доказывается аналогично 2) - любой делитель b и r так же является делителем a и b. | ||
# Следовательно, все общие делители пар чисел a,b и b,r совпадают. Другими словами, нет общего делителя у чисел a,b, который не был бы также делителем b,r, и наоборот. | # Следовательно, все общие делители пар чисел a,b и b,r совпадают. Другими словами, нет общего делителя у чисел a,b, который не был бы также делителем b,r, и наоборот. | ||
# В частности, максимальный делитель остается тем же самым. Что и требовалось доказать. | # В частности, максимальный делитель остается тем же самым. Что и требовалось доказать. | ||
}} | }} | ||
− | * < | + | * <tex>\gcd (0,r) = r</tex> для любого ненулевого <tex>r.</tex> |
− | Проще сформулировать алгоритм Евклида так: если даны натуральные числа < | + | Проще сформулировать алгоритм Евклида так: если даны натуральные числа <tex>a</tex> и <tex>b</tex> и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД. |
===Расширенный алгоритм Евклида=== | ===Расширенный алгоритм Евклида=== |
Версия 08:44, 29 сентября 2010
Содержание
Наибольший общий делитель как максимальное число, делящее два данных числа
Определение: |
Наибольшим общим делителем (НОД) для двух целых чисел m и n называется наибольший из их общих делителей. |
Пример: для чисел 70 и 105 наибольший общий делитель равен 35.
Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел m или n не ноль.
Возможные обозначения наибольшего общего делителя чисел m и n:
- НОД(m, n)
- (m, n)
- gcd(m, n) (от англ. Greatest Common Divisor)
Понятие наибольшего общего делителя естественным образом обобщается на наборы из более чем двух целых чисел.
Алгоритм Евклида
Стандартный алгоритм Евклида
Пусть
и — целые числа, не равные одновременно нулю, и последовательность чиселопределена тем, что каждое
— это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то естьТогда НОД(a,b), наибольший общий делитель
и , равен , последнему ненулевому члену этой последовательности.Существование таких
, то есть возможность деления с остатком на для любого целого и целого , доказывается индукцией по m.Корректность этого алгоритма вытекает из следующих двух утверждений:
- Пусть , тогда
- Пусть k — любой общий делитель чисел a и b, не обязательно максимальный, тогда ; где и — целые числа из определения.
- Тогда k также общий делитель чисел b и r, так как b делится на k по определению, а (выражение в скобках есть целое число, следовательно, k делит r без остатка)
- Обратное также верно и доказывается аналогично 2) - любой делитель b и r так же является делителем a и b.
- Следовательно, все общие делители пар чисел a,b и b,r совпадают. Другими словами, нет общего делителя у чисел a,b, который не был бы также делителем b,r, и наоборот.
- В частности, максимальный делитель остается тем же самым. Что и требовалось доказать.
- для любого ненулевого
Проще сформулировать алгоритм Евклида так: если даны натуральные числа
и и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД.Расширенный алгоритм Евклида
Формулы для
могут быть переписаны следующим образом:здесь s и t целые. Это представление наибольшего общего делителя называется соотношением Безу, а числа s и t — коэффициентами Безу. Соотношение Безу является ключевым в доказательстве леммы Евклида и основной теоремы арифметики.
Связь с цепными дробями
Отношение
допускает представление в виде цепной дроби:- .
При этом цепная дробь без последнего члена равна отношению коэффициентов Безу
, взятому со знаком минус:- .