Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 2.6. Расширенный алгоритм ЭвклидаУ алгоритма Эвклида, описанного в предыдущем параграфе, есть еще один вариант, более мощный. Мощный в данном случае не означает более быстрый. Достоинство нового варианта в том, что наибольший общий делитель — лишь часть выходных данных. Пусть
Отметим, что (за исключением нескольких тривиальных случаев) если а оказывается положительным, то Лучше всего вычислять эти числа, добавив некоторые инструкции в обычный алгоритм Эвклида так, чтобы Напомним, что алгоритм Эвклида состоит из последовательности делений с остатком. Наибольший общий множитель представляет собой последний ненулевой остаток в этой последовательности. Значит, нам надо найти способ записывать последний ненулевой остаток в виде (6.1). Суть алгоритма Кнута в том, что нам не следует ждать, пока мы дойдем до последнего ненулевого остатка; вместо этого нам стоит записывать в таком виде каждый из получающихся остатков. Такие действия должны приводить, по-видимому, к большому количеству дополнительной работы. Как мы увидим позднее, это не совсем так. Предположим, что для вычисления наибольшего общего делителя чисел
Числа (см. скан) Отметим прежде всего, что таблица начинается с двух строчек, которым в ней не следовало бы быть. Действительно, стоящие в первом столбце этих строк числа не являются остатками в каких-либо операциях деления. Мы даем этим строчкам номера —1 и 0, подчеркивая тем самым их «незаконность». Вскоре мы обоснуем их необходимость. Что же мы хотим сделать? Мы хотим заполнить столбцы
Из строчек
Подставляя эти значения в (6.3), получаем
Поэтому
Заметим, что для вычисления Итак, мы получили рекуррентную процедуру. Все, что необходимо — это научиться ее запускать. Именно для этого мы и добавили в таблицу две «незаконные» строки. Найти в них значения
Поэтому можно просто положить
и процедуру можно запускать. В результате цепочки делений с остатком мы получим равенство
Значит
Поэтому достаточно вычислять только первые три столбца таблицы. Приведем численный пример. Если (см. скан) Поэтому
Пришло время разобраться, почему алгоритм дает правильный ответ и почему он завершает свою работу. Как и подразумевается названием, расширенный алгоритм Эвкли-да представляет собой просто алгоритм Эвклида из предыдущего параграфа, дополненный инструкциями для вычисления значений Теорема. Пусть
Заметим, что пара чисел
Приложив столько усилий к вычислению Упражнения(см. скан) (см. скан) (см. скан) (см. скан)
|
1 |
Оглавление
|