Изменения

Перейти к: навигация, поиск

Наибольший общий делитель

111 байт убрано, 08:52, 29 сентября 2010
Стандартный алгоритм Евклида
'''Корректность''' этого алгоритма вытекает из следующих двух утверждений:
* {{Лемма|id=l1|statement=Пусть <tex>a = bq + r</tex>, тогда <tex>\gcd (a,b) = \gcd (b,r).</tex>{{Hider| title = '''Доказательство'''| hidden = 0 | title-style = text-align: left; height: auto; | content-style = text-align: left; | content proof=# Пусть 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 по определению, а <tex>r = a - bq = (t_1 - t_2*q)*k </tex> (выражение в скобках есть целое число, следовательно, k делит r без остатка)
# Обратное также верно и доказывается аналогично 2) - любой делитель b и r так же является делителем a и b.
# В частности, максимальный делитель остается тем же самым. Что и требовалось доказать.
}}
* {{Лемма|statement=<tex>\gcd (0,r) = r</tex> для любого ненулевого <tex>r.</tex>}}
Проще сформулировать алгоритм Евклида так: если даны натуральные числа <tex>a</tex> и <tex>b</tex> и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД.
153
правки

Навигация