Наибольший общий делитель — различия между версиями

Материал из Викиконспекты
Перейти к: навигация, поиск
(Стандартный алгоритм Евклида)
Строка 21: Строка 21:
 
<math>r_n</math>, последнему ненулевому члену этой последовательности.
 
<math>r_n</math>, последнему ненулевому члену этой последовательности.
  
'''Существование''' таких <math>r_1, r_2, ...</math>, то есть возможность деления с остатком <math>m</math> на <math>n</math> для любого целого <math>m</math> и целого <math>n\ne 0</math>, доказывается [[Математическая индукция|индукцией]] по ''m''.
+
'''Существование''' таких <math>r_1, r_2, ...</math>, то есть возможность деления с остатком <math>m</math> на <math>n</math> для любого целого <math>m</math> и целого <math>n\ne 0</math>, доказывается индукцией по ''m''.
  
 
'''Корректность''' этого алгоритма вытекает из следующих двух утверждений:
 
'''Корректность''' этого алгоритма вытекает из следующих двух утверждений:

Версия 15:03, 30 июня 2010

Эта статья находится в разработке!

Наибольший общий делитель как максимальное число, делящее два данных числа

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

Стандартный алгоритм Евклида

Пусть [math]a[/math] и [math]b[/math] — целые числа, не равные одновременно нулю, и последовательность чисел

[math] a,\, b,\,r_1 \gt r_2 \gt r_3 \gt r_4 \gt \cdots \gt r_n[/math]

определена тем, что каждое [math]r_k[/math] — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть

[math]a = bq_0 + r_1[/math]
[math]b = r_1q_1 + r_2[/math]
[math]r_1 = r_2q_2 + r_3[/math]
[math]\cdots[/math]
[math]r_{k-2} = r_{k-1} q_{k-1} + r_k[/math]
[math]\cdots[/math]
[math]r_{n-1} = r_n q_n[/math]

Тогда НОД(a,b), наибольший общий делитель [math]a[/math] и [math]b[/math], равен [math]r_n[/math], последнему ненулевому члену этой последовательности.

Существование таких [math]r_1, r_2, ...[/math], то есть возможность деления с остатком [math]m[/math] на [math]n[/math] для любого целого [math]m[/math] и целого [math]n\ne 0[/math], доказывается индукцией по m.

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

  • Пусть [math]a = bq + r[/math], тогда [math]\gcd (a,b) = \gcd (b,r).[/math]
  • [math]\gcd (0,r) = r[/math] для любого ненулевого [math]r.[/math]

Проще сформулировать алгоритм Евклида так: если даны натуральные числа [math]a[/math] и [math]b[/math] и, пока получается положительное число, по очереди вычитать из большего меньшее, то в результате получится НОД.

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

Наибольший общий делитель как общий делитель, делящий все остальные общие остальные общие делители