
Онлайн книга «Путеводитель для влюблённых в математику»
Присмотримся к числам 986 и 748 повнимательней. Мы ищем наибольший общий делитель, поэтому естественно разложить оба числа на простые множители [134] (см. главу 1). Вот результат: 986 = 2 × 17 × 29; 748 = 2 × 2 × 11 × 17. С помощью этого разложения на простые множители мы можем найти НОД, пуская в дело все простые числа, на которые делятся оба наших числа. Оба делятся на 2 и на 17, потому наибольший общий делитель очевидным образом равен 2 × 17 = 34. Как разложить число на простые множители самым эффективным способом? Ответ неутешителен: мы этого не знаем (как уже отмечалось в главе 1). Нам нужна идея получше. Еще одну идею нам подсказал Евклид. Допустим, d – общий делитель 986 и 748. Это означает, что 986 = xd, 748 = yd, где x и y – целые числа. Следовательно, d также является делителем разности 986 – 748. Это следует из нехитрых алгебраических выкладок: 986 – 748 = xd – yd = (x – y) d. Так как x и y целые числа, их разность тоже целое число. Потому разность 986 и 748 тоже нацело делится на d. Заметим, что 986–748 = 238. Точно так же общий делитель 748 и 238 является делителем 986. Почему? Если e – общий делитель 748 и 238, то 748 = ue, 238 = ve, где u и v – целые числа. Таким образом, 986 = 748 + 238 = ue + ve = (u + v) e, откуда мы делаем заключение, что e – делитель 986. Вывод: общие делители 986 и 748 являются также общими делителями 748 и 238. Для иллюстрации запишем делители всех трех чисел, подчеркивая общие делители: делители 986 → 1, 2, 17, 29, 34, 58, 493, 986; делители 748 → 1, 2, 4, 11, 17, 22, 34, 44, 68, 187, 374, 748; делители 238 → 1, 2, 7, 14, 17, 34, 119, 238. Отсюда следует, что НОД (986, 748) = НОД (748, 238). (A) Таким образом, поиск наибольшего общего делителя 986 и 748 свелся к поиску наибольшего общего делителя 748 и 238. Прогресс, теперь мы имеем дело с числами поменьше. Проделаем то же самое еще раз. Если некое d – общий делитель 238 и 748, оно также делитель их разности. Этим дело не ограничивается. Мы можем вычесть 238 из 748 несколько раз, и d будет оставаться делителем разностей. Точнее говоря, если 238 и 748 делятся на d, разность 748 – 3 × 238 тоже делится на d. Обратимся к алгебре, чтобы доказать это. 748 = xd, 238 = yd, где x и y – целые числа. Следовательно, 748 – 3 × 238 = xd – 3yd = (x – 3y) d. Таким образом, d – делитель 748 – 3 × 238 = 34. И наоборот: если e – делитель 34 и 238, это также делитель 748. Вернемся к алгебре. 238 = ue, 34 = ve, где u и v – целые числа. Таким образом, 748 = 3 × 238 + 34 = 3ue + ve = (3u + v) e. Таким образом, e – делитель 748. Следовательно, у 748, 238 и 34 есть общие делители, и мы можем сделать вывод, что НОД (748, 238) = НОД (238, 34). (B) На основе тождеств (A) и (B) мы имеем: НОД (986, 748) = НОД (748, 238) = НОД (238, 34). Мы почти у цели. Обратим внимание, что 238 делится на 34 (потому что 238 = 34 × 7), и поэтому НОД (238, 34) = 34. Финальный аккорд: НОД (986, 748) = НОД (748, 238) = НОД (238, 34) = 34. Подытожим: через какие этапы мы пришли к этому результату? Мы вычли 748 из 986 и получили 238. Мы трижды вычли 238 из 748. Почему мы совершили одну операцию вычитания в первом случае и три операции во втором? Мы хотели свести задачу к операциям с как можно меньшими числами, потому что так удобнее. Поэтому мы вычитали меньшее число из большего до упора. Заметим: 748 умещается в 986 всего один раз, и разница между ними равна 238. Однако 238 умещается внутри 748 три раза, и остаток равен 34. Мы можем вычесть 748 из 986 всего один раз, и в то же время мы можем вычесть 238 из 748 три раза. Теперь мы обобщим этот пример и построим алгоритм вычисления наибольшего общего делителя для двух целых положительных чисел. Нам даны два целых положительных числа a, b, и мы хотим определить НОД (a, b). При этом a больше b. Мы должны вычесть b из a как можно большее число раз. Чтобы выяснить, сколько именно, поделим a на b. Мы получим частное q и остаток c. На языке алгебры: a – qb = c. Если окажется, что b – делитель a, тогда остаток будет равен нулю. В ином случае c больше нуля и меньше b (если бы c оказалось больше b, мы смогли бы вычесть b из a еще раз [135]). Теперь предположим, что d – общий делитель a и b. Тогда a = xd, b = yd, где x и y – целые числа. Следовательно, c = a – qb = xd – q (yd) = (x – qy) d, и c тоже без остатка делится на d (потому что x – qy входит в множество целых чисел). С другой стороны, если e – общий делитель b и c, тогда b = ue, c = ve, где u и v – целые числа. Следовательно, a = c + qb = ve + q (ue) = (v + qu) e, и e – еще и делитель a. Итак, мы доказали, что общие делители a и b совпадают с общими делителями b и c. Таким образом, |