Деление с остатком Определение 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.