Калькулятор, реализующий расширенный алгоритм Евклида.
На сайте уже есть калькулятор Наибольший общий делитель (НОД) двух целых чисел, который использует алгоритм Евклида. Как оказалось, помимо обычного алгоритма Евклида существует еще и его «расширенный» вариант. Отличие его в том, что, кроме нахождения НОД, он также еще и находит коэффициенты, при которых будет справедливо следующее выражение:
Т. е. он находит коэффициенты, с помощью которых НОД двух чисел выражается через сами эти числа.
Калькулятор ниже, а описание алгоритма, как водится, под ним.
Видео:// Математические основы криптографии #3 // Расширенный алгоритм Евклида //Скачать
Расширенный алгоритм Евклида
Просто для нахождения $gcd$ даже не нужно знать, как устроен алгоритм Евклида — он есть в компиляторе.
Расширенный алгоритм Евклида находит, помимо $g = gcd(a, b)$, такие целые коэффициенты $x$ и $y$, что
$$ a cdot x + b cdot y = g $$
Заметим, что решений бесконечно много: имея решение $(x, y)$, можно $x$ увеличить на $b$, а $y$ уменьшить на $a$, и равенство при этом не изменится.
Видео:04 - Расширенный алгоритм ЕвклидаСкачать
#Основная идея
Алгоритм тоже будет рекурсивный. Пусть мы посчитали нужные коэффициенты $x’$ и $y’$, когда рекурсивно считали $gcd(b, a bmod b)$. Иными словами, у нас есть решение $(x’, y’)$ для пары $(b, a bmod b)$:
Сравнивая это с исходным выражением, получаем, что для исходных $x$ и $y$ подходят коэффициенты при $a$ и $b$.
#Реализация
Эта рекурсивная функция по прежнему возвращает значение $gcd(a, b)$, но помимо этого записывает в переданные по ссылке переменные $x$ и $y$ искомые коэффициенты.
Видео:Расширенный алгоритм евклидаСкачать
#Применения
Эта модификация алгоритма интересна, потому что с помощью неё можно искать обратный элемент по модулю: такой элемент $a^$, что $a cdot a^ equiv 1$ — что то же самое, что найти решение в целых числах:
$$ a^ cdot a + k cdot m = 1 $$ Также с помощью расширенного алгоритма Евклида можно решать линейные диофантовы уравнения — находить решения $$ a cdot x + b cdot y = c $$ в целых числах. Для этого достаточно проверить, что $c$ делится на $g = gcd(a, b)$, и если это так, то $x$ и $y$ из алгоритма нужно просто домножить на $frac$.
Видео:30 Алгоритм ЕвклидаСкачать
Элективный курс Сказки Шехерезады и уравнения Диофанта Балашов 2009 Содержание
Главная > Элективный курс
Информация о документе | |
Дата добавления: | |
Размер: | |
Доступные форматы для скачивания: |
Применение алгоритма Евклида для нахождения наибольшего общего делителя двух чисел (повторение).
Существует довольно простой прием, позволяющий находить наибольший делитель двух натуральных чисел. Этот прием называется алгоритмом Евклида. Вы с ним познакомились еще при изучении курса математики в 5 – 6 классах. Евклид, великий ученый, живший около 2000 лет назад, занимался не только геометрией, которая носит его имя. Ему принадлежит решение ряда важных задач арифметики и, в частности, тот способ нахождения наибольшего общего делителя, который мы сегодня будем использовать при изучении нового материала. А сейчас повторим суть алгоритма Евклида .
Чтобы найти наибольший общий делитель двух чисел:
1) надо большее из двух чисел разделить на меньшее;
2) потом меньшее из чисел на остаток при первом делении;
3) затем остаток при первом делении на остаток при втором делении и вести этот процесс до тех пор, пока не произойдет деление без остатка. Последний отличный от нуля остаток и есть искомый НОД двух данных чисел
Рассмотрим пример. Найти НОД (645; 381).
Разделим с остатком 645 на 381. Мы получим: 645=381·1+264.
Далее разделим с остатком 381 на 264, получим: 381=264·1+117.
Теперь разделим с остатком 264 на 117, получим: 264=117·2+30.
Продолжим процесс деления, разделим с остатком 117 на 30, получим: 117=30·3+27. Далее, 30=27·1+3. Следующий шаг – делим 27 на 3, получаем, что 27=3·9 +0, т. е. 27 делится на 3 без остатка. Значит, наибольший общий делитель чисел 27 и 3 равен 3, следовательно, и наибольший общий делитель чисел 645 и 381 равен 3, т. е. последнему отличному от нуля остатку.
Таким образом, НОД (645; 381) = 3.
Прием разыскания наибольшего общего делителя, примененный в этом примере, и представляет собой алгоритм Евклида.
2. Вывод формул для решения диофантовых уравнений с использованием алгоритма Евклида.
Прежде чем рассмотреть решение линейного уравнения с двумя неизвестными:
с использованием алгоритма Евклида, докажем утверждение о том, что наибольший общий делитель двух чисел есть последний отличный от нуля остаток в цепочке указанных в примере действий .
Чтобы доказать утверждение о наибольшем общем делителе, представим описанный процесс в виде следующей цепочки равенств: если a > b , то
·b = r 1 q 1 + r 2
r 1 = r 2 q 2 + r 3 (2)
r n – 1 = r n q n
Здесь r 1 , . . . , r n — положительные остатки, убывающие с возрастанием номера. Отсутствие остатка в последнем равенстве следует из того, что натуральные числа r n не могут убывать бесконечно, поэтому на некотором шаге остаток станет нулевым.
Обратимся к системе (2). Из первого равенства, выразив остаток r 1 через a и b , получим r 1 = a – b · q 0 . Подставляя его во второе равенство, найдём r 2 = b (1 + q 0 q 1 ) – a · q 1 . Продолжая этот процесс дальше, мы сможем выразить все остатки через a и b , в том числе и последний: r n = Aa + Bb . В результате нами доказано
что найдутся такие целые числа A и B , что d = Aa + Bb . Заметим, что коэффициенты A и B имеют разные знаки; если НОД ( a , b ) = 1 , то Aa + Bb = 1 . Как найти числа A и B , видно из алгоритма Евклида.
Перейдем теперь к решению линейного уравнения с двумя неизвестными:
Возможны два случая: либо число c делится на d = НОД( a , b ) , либо нет.
В первом случае можно разделить обе части уравнения на d и свести задачу к решению в целых числах уравнения a 1 x + b 1 y = c 1 , коэффициенты которого
a 1 = a / d и b 1 = b / d взаимно просты.
Во втором случае уравнение не имеет целочисленных решений: при любых целых x и y число ax + by делиться на d и поэтому не может равняться числу c , которое на d не делится.
Итак, мы можем ограничиться случаем, когда в уравнении (1) коэффициенты a и b взаимно просты. На основании предыдущего предложения найдутся такие целые числа х 0 и у 0 , что ax 0 + by 0 = 1 , откуда пара (сх 0 , су 0 ) удовлетворяет уравнению (1). Вместе с ней уравнению (1) удовлетворяет бесконечное множество пар ( x , у) целых чисел, которые можно найти по формулам
x = cx 0 + bt, y = cy 0 – at. (3)
Здесь t – любое целое число. Нетрудно показать, что других целочисленных решений уравнение ах + by = c не имеет. Решение, записанное в виде (3), называется общим решением уравнения (1). Подставив вместо t конкретное целое число, получим его частное решение.
Примечание . Название «лекция» как будто говорит о том, что активная роль здесь принадлежит лишь самому учителю, учащимся предоставляется пассивная роль – внимательно слушать рассказ учителя и выполнять в тетради те записи, которые учитель выполняет на классной доске. Если бы это было именно так, то данная форма обучения оказалось бы мало эффективной. Современные требования обучения математике предполагают, что даже в том случае, когда учитель является главным действующим лицом,
необходима активная деятельность самих учащихся. Поэтому лекция учителя должна пробуждать у учащихся интерес и потребность к активной умственной деятельности.
По ходу лекции следует обратиться с вопросами к учащимся . Например: Какие уравнения называются диофантовыми? Какой вид имеет линейное диофантово уравнение? Какие условия накладываются на его коэффициенты? Какой способ решения уравнения мы использовали на предыдущем занятии?
Также на занятиях, где материал изучается крупным блоком, целесообразно создание таблицы в виде конспекта изложенного учителем нового материала. Этот конспект должен стать информационно-справочной таблицей и сыграть свою
роль на занятиях тематического или итогового повторения. Сформулируем некоторые требования к его оформлению. Материал в конспекте должен быть разделен на несколько самостоятельных, логически связанных между собой блоков. В него желательно внести вспомогательные вопросы, с помощью которых готовится введение нового, узловые вопросы темы и ее практическое применение.
Таким образом, с одной стороны, в конце урока желательно иметь конспект, в котором видно главное. А с другой стороны, запись этого конспекта не должна занимать много времени. Для выполнения этих требований можно использовать заготовку для конспекта, т.е. таблицу с пропусками. В нее можно внести рисунок без подписей, частично выполненные условия теоремы, некоторые пункты алгоритмических предписаний и т.п.
Как разработать такой конспект? Учитель сначала разрабатывает конспект полностью на листе бумаге стандартного размера. На другом таком же листе он выписывает конспект-заготовку в строгом расположении текста на основном конспекте. Этот фрагментарный конспект необходимо размножить, чтобы к лекции такой конспект-заготовку имел каждый ученик. Точно такой конспект «с пропусками» учитель должен заранее написать на доске
перед началом лекции или подготовить его компьютерный вариант для использования в классе с интерактивной доской. Для проведения данной лекции был подготовлен такой
конспект-заготовка (Приложение 4).
3. Примеры решения диофантовых уравнений с использованием алгоритма Евклида.
Рассмотрим решение заданий №6 (а), №7 из Приложения 1.
Задание №6 . Решить уравнение на множестве целых чисел
НОД(7;11)=1, Найдем значение х 0 и у 0 для получения решений уравнения по формулам (3). Применим алгоритм Евклида к числам 11 и 7:
Таким образом, получаем: , следовательно х 0 = –3, у 0 =2
Запишем общее решение уравнения на множестве целых чисел согласно формулам (3):
Придавая конкретные целые значения t , можно получить частные решения уравнения. Например, при t =1, имеем x = –196, у=131.
Задача №7 . Для газификации жилого дома требуется проложить газопровод протяженностью 150 м. Имеются трубы 13 м и 9м длиной. Сколько требуется труб, чтобы не приходилось их разрезать при прокладке газопровода.
Пусть требуется x труб по 9 м, и у труб по 13м. Составим и решим уравнение: 9х+13у=150.
НОД(9;13)=1, уравнение разрешимо во множестве целых чисел.
Найдем значение х 0 и у 0 для получения решений уравнения по формулам (3). Применим алгоритм Евклида к числам 13 и 9:
Запишем общее решение уравнения согласно формулам (3).
Так как x и y неотрицательные целые числа, то чтобы найти значение t , решим систему неравенств:
Ответ. Для прокладывания газопровода потребуется 8 труб длиной по 9м и 6 труб длиной по 13м.
4 . В домашнее задание для учащихся необходимо включить подготовку по теоретическому материалу и практические задания.
Учащиеся должны ответить на следующие вопросы.
В чем суть алгоритма Евклида?
Когда уравнение (1) разрешимо во множестве целых чисел?
По каким формулам находится общее решение диофантова уравнения первой степени с двумя переменными с использованием алгоритма Евклида? Укажите, что обозначают буквы, входящие в эти формулы.
При выполнении домашнего задания используется опорный конспект лекции, в котором выделены основные вопросы, рассмотренные на занятии, и заполнены соответственно имеющиеся пропуски (Приложение 4).
В качестве практических заданий можно предложить для решения задания №6 (б), №8 из Приложения 1. Также можно предложить составить сюжетную задачу, решение которой сводится к уравнению из №6 (б) на множестве целых неотрицательных или натуральных чисел. Найти ее решения.
Решение диофантовых уравнений с использованием алгоритма Евклида
Актуализация знаний ( проверка знания теории и выполнения практических заданий).
Решение задач с использованием алгоритма Евклида.
Постановка домашнего задания.
Оборудование: заполненные конспекты – заготовки предыдущей лекции, карточки с заданиями для фронтальной и групповой работы.
Актуализация знаний. Проведение первого этапа занятия – практикума учитель может спланировать по своему усмотрению. Необходимо организовать проверку выполнения домашнего задания, включающего как теоретические вопросы, так и практические задания.
Решение задач с использованием алгоритма Евклида .
Задания для решения выбираются по принципу: от простого к сложному. Для овладения методом решения диофантовых уравнений с использованием алгоритма Евклида можно предложить вначале решить уравнения, не связанные, с какой либо реальной ситуацией. Например, № 6 (в, г). Затем можно предложить решение текстовых задач на составление линейных диофантовых уравнений. Например, № 9, 10. Все задания указаны из Приложения 1. Задания можно выполнить в группах, а затем проверить полученные ответы. Ниже приведем решение задачи №9.
Неотъемлемой частью занятия – практикума является решение и нестандартных задач, заданий повышенной трудности. В процессе их выполнения можно использовать прием разбиения на подзадачи. К таким заданиям можно отнести и задачу № 11, которую мы далее рассмотрим.
Заметим, что в ходе решения задач, учащиеся могут опираться на заполненный опорный конспект предыдущей лекции, в котором выделен способ решения диофантовых уравнений с использованием алгоритма Евклида.
Задача №9. Транспортные организации имеют в наличие машины вместимостью 3, 5 т и 4, 5 т. Следует перевезти груз весом 53 т. Сколько машин нужно взять для одного рейса?
Пусть x машин по 3,5 т.; у машин по 4, 5 т. Составим и решим уравнение: 3,5х+4,5у=53. Перейдем к уравнению с целыми коэффициентами, например, умножим обе части уравнения на 2. Получим: 7х+9у=106.
НОД(7, 9)=1, уравнение имеет целые решения.
Так как t – принимает целые значения, то системе неравенств удовлетворяют значения t =-47 и t =-46. Получим решение диофантова уравнения в натуральных числах:
Таким образом, для одного рейса можно взять:
А) 1 машину вместимостью 3,5 т и 11 машин вместимостью 4,5 т;
В) 10 машин вместимостью 3,5 т и 4 машины вместимостью 4,5 т.
Полезно обратить внимание на то, какой из возможных вариантов будет наиболее эффективным для работы предприятия с экономической точки зрения (экономия бензина, экономия средств на оплату труда водителям и т.д.) .
Задача №11 . Школа получила 1 млн. руб. на приобретение 100 единиц учебного оборудования (на всю сумму без сдачи). Администрации школы предложили, оборудование стоимостью 3000, 8000 и 12000 руб. за единицу. Сколькими способами школа может закупить это оборудование. Укажите один из способов.
В ходе обсуждения идеи решения данной задачи, необходимо выяснить: что дано, что неизвестно в условии, как связаны между собой данные и искомые. Затем переходить к составлению математической модели задачи.
1 ) составление системы уравнений .
Пусть приобретено x единиц оборудования по 12000 руб., y единиц оборудования по 8000 руб., z единиц оборудования по
3000 руб.
Всего приобретено 100 единиц оборудования, т.е. x + y + z = 100 , причем на приобретение 100 единиц оборудования затрачено 1 млн. руб., т.е.
12000 x + 8000 y + 3000 z = 1 000 000,
12x + 8y + 3z = 1000 .
Таким образом, получаем систему двух уравнений с тремя неизвестными:
Вопрос учителя: всегда ли задача будет иметь решение? Иначе: какими
должны быть x , y , z ?
( ответ: x >0, y >0, z >0 )
2) обсуждение решения системы.
Во-первых, исключим z , путем вычитания из второго уравнения первого, умноженного на 3. Следовательно, получаем диофантово уравнение 1-ой степени с двумя неизвестными 9 x + 5 y = 700.
Во-вторых, его можно решить способом с использованием алгоритма Евклида.
3) оформление решения задачи.
Так как уже получили уравнение, которое решается известным способом, то оформление решения можно предложить выполнить учащимся дома. В результате решения получается, что приобрести оборудование библиотека может шестью способами. Укажем одно из частных решений задачи: x=65 , y=23, z=12 , т.е. школа на 1 млн. руб. может
приобрести 65 единиц оборудования по 12 тыс. руб., 23 единицы оборудования по 8 тыс. руб., 12 единиц оборудования по 3 тыс. руб.
3. Постановка домашнего задания.
В качестве домашнего задания можно преложить учащимся решить задачи № 2; №3; №5 из Приложения 1 с использованием алгоритма Евклида.
Решение диофантовых уравнений с использованием
План занятия совпадает с планом школьной лекции на указанную тему.
Понятие цепной дроби. Представление рациональных чисел в виде цепной дроби
Формулы для решения диофантовых уравнений с использованием цепной дроби
Примеры решения диофантовых уравнений с использованием цепной дроби.
Оборудование: конспект – заготовка лекции на доске и индивидуальные заготовки для каждого ученика.
Занятие № 5 по своей структуре аналогично занятию №3. В качестве примеров решения диофантовых уравнений с использованием цепной дроби, можно рассмотреть задания из Приложения 1. Заметим, что можно взять уже ранее решенные задачи и выполнить их решение новым способом.
Понятие цепной дроби. Представление рациональных чисел в виде цепной дроби
Обратимся вновь к алгоритму Евклида. Из первого равенства системы (2) вытекает, что дробь a / b можно записать в виде суммы целой части и правильной дроби: . Из второго равенства той же системы имеем. Значит,
Продолжим этот процесс до тех пор, пока не придём к знаменателю q п
В результате мы представим обыкновенную дробь a / b в следующем виде: . Эйлер назвал дробь, стоящую в правой части равенства непрерывной . Приблизительно в тоже время в Германии появился другой термин – цепная дробь . Так за этими дробями и сохранились оба названия. Ввиду громоздкости развёрнутой записи цепной дроби применяют компактную запись
a / b = [ q 0 ; q 1 , q 2 , …, q п ] .
Представить рациональное число в виде цепной дроби.
.
Очевидно, что любое рациональное число, и только оно записывается в виде конечной цепной дроби. Иррациональным числам соответствуют бесконечные цепные дроби.
Если при построении цепной дроби остановиться на знаменателе q k , то получиться дробь [ q 0 ; q 1 , q 2 , …, q к ] , которую называют к-й подходящей дробью для искомой и обозначают Найдем вид некоторых подходящих дробей:
Для рационального числа a / b последовательность подходящих дробей конечна, и ее последний элемент Нетрудно заметить, что имеют место следующие рекуррентные соотношения:
(4)
Формулы для решения диофантовых уравнений с использованием цепной дроби
Вернемся к уравнению: ax + by = c (1). Напомним, что в нем a и b взаимно просты. Решение этого уравнения «способом цепной дроби» завершается применением готовых формул (доказательство которых можно найти в специальных пособиях), представляющих общее решение данного уравнения
(5)
🔥 Видео
Расширенный алгоритм Евклида.Скачать
Алгоритм ЕвклидаСкачать
Занятие 14 Расширенный алгоритм Евклида Решето ЭратосфенаСкачать
А Зухба, Теория групп, Видео 19: Расширенный алгоритм Евклида.Скачать
✓ Сравнение по модулю. Арифметика остатков | Ботай со мной #034 | Борис ТрушинСкачать
нод многочленовСкачать
Поздняков С.Н., НОД. Расширенный алгоритм Евклида.Скачать
Математика. Натуральные числа: Алгоритм Евклида. Центр онлайн-обучения «Фоксфорд»Скачать
ПРОСТЕЙШИЙ способ решения Показательных УравненийСкачать
Расширенный алгоритм евклида на haskellСкачать
Теорема Безу. 10 класс.Скачать
Математика. Линейные диофантовы уравнения с двумя неизвестными. Центр онлайн-обучения «Фоксфорд»Скачать
алгоритм евклида - почему он работает?Скачать
Линейные диофантовы уравненияСкачать
Алгоритм ЕвклидаСкачать
Полезные мелочи | алгоритм Евклида | диофантовы уравнения и коэффициенты БезуСкачать