Uploaded by wendingfit

Неделя 1 теория

advertisement
Деление с остатком
Определение
a, b  Z, b > 0.
Разделить a на b с остатком – значит найти такие числа p и q, чтобы
a = bq + r, при этом 0 ≤ r < b.
Примеры
1. 25 = 4  6 + 1.
2. –25 = (–5)  6 + 5.
Докажем единственность деления с остатком.
В самом деле, если a  bq1  r1  bq2  r2 , тогда b  q1  q2   r2  r1.
Если левая часть не равна 0, то ее модуль не меньше b, поскольку умножаем b
на ненулевое целое число. С другой стороны, оба остатка меньше b, поэтому
модуль разности в правой части меньше b.
Противоречие!
Поэтому левая часть равна 0, и два представления совпали.
Делимость
Говорят, что a b (a делится на b) или b | a (b делит a), если существует q такое,
что a = bq.
Свойства делимости:
1. a | b и b | c  a | c.
2. a | b и a | c  a | (b  c).
3. a | b и a | c  a | (b  kc), k  Z.
Наибольший общий делитель и наименьшее общее кратное
Определение
Пусть  a1, ..., an  – набор целых чисел. Тогда:
d – наибольший общий делитель набора  a1, ..., an  , если d – наибольшее
натуральное число, на которое делятся все  a1, ..., an  ;
 a1, ..., an  ,
натуральное число, которое делится на все  a1, ..., an  .
m – наименьшее общее кратное набора
если m – наименьшее
Алгоритм Евклида
Пример
НОД (72, 96) = НОД (72, 96 – 72) = НОД (72, 24) = 24.
Идея вычисления наибольшего общего делителя в том, что некоторые числа
заменяем их линейными комбинациями таким образом, что числа уменьшаются, а
наибольший общий делитель остается прежним.
Приведем более строгое описание работы алгоритма.
Теорема
Множество общих делителей не меняется при элементарных преобразованиях
набора  a1, ..., an  , то есть при замене ai числом ai  qak .
В самом деле, если некоторое число d было общим делителем набора
 a1, ..., an  , то все линейные комбинации этих чисел, в том числе ai  qak , делятся
на d.
Аналогично, если число d1 является общим делителем для набора, в котором
провели замену, то оно является делителем qak , а следовательно, и делителем ai .
Значит, это число является делителем исходного набора.
Пример
276 = 84  3 + 24;
84 = 24  3 + 12;
24 = 12  2;
НОД (276, 84) = НОД (84, 24) = НОД (12, 24) = НОД (12, 0) = 12.
Общая формула алгоритма для двух чисел:
a  bq1  r1 ;
b  r1q2  r2 ;
r1  r2q3  r3 ;
r2  r3q4  r4 ;
…
В конце концов остаток при делении окажется равен нулю, поскольку остатки
уменьшаются с каждым шагом, и все они положительные:
rk 1  rk qk 1  rk 1 ;
rk  rk 1qk 2 .
Тогда НОД (a, b) = rk 1 (то есть наибольший общий делитель равен
последнему ненулевому остатку).
Алгоритм Евклида относится к так называемым быстрым алгоритмам,
поскольку на каждом шаге остаток уменьшается по крайней мере в 2 раза, поэтому
за сравнительно небольшое количество шагов алгоритм заканчивает работу.
Для трех чисел вычисление наибольшего общего делителя может быть,
например, таким:
НОД (65, 182, 130) = НОД (65, 182, 0) = НОД (65, 52, 0) = НОД (13, 0, 0) = 13.
Related documents
Download