Алгоритм евклида - нахождение наибольшего общего делителя. Математика, которая мне нравится Алгоритм евклида для вычисления наибольшего общего делителя

В предисловии к своему первому изданию “В царстве смекалки” (1908 год) Е. И. Игнатьев пишет: “... умственную самодеятельность, сообразительность и “смекалку” нельзя ни “вдолбить”, ни “вложить” ни в чью голову. Результаты надёжны лишь тогда, когда введение в область математических знаний совершается в лёгкой и приятной форме, на предметах и примерах обыденной и повседневной обстановки, подобранных с надлежащим остроумием и занимательностью”.

В предисловии к изданию 1911 г “Роль памяти в математике” Е.И. Игнатьев пишет “… в математике следует помнить не формулы, а процесс мышления”.

Для извлечения квадратного корня существуют таблицы квадратов для двухзначных чисел, можно разложить число на простые множители и извлечь квадратный корень из произведения. Таблицы квадратов бывает недостаточно, извлечение корня разложением на множители - трудоёмкая задача, которая тоже не всегда приводит к желаемому результату. Попробуйте извлечь квадратный корень из числа 209764? Разложение на простые множители дает произведение 2*2*52441. Методом проб и ошибок, подбором – это, конечно, можно сделать, если быть уверенным в том, что это целое число. Способ, который я хочу предложить, позволяет извлечь квадратный корень в любом случае.

Когда-то в институте (Пермский государственный педагогический институт) нас познакомили с этим способом, о котором сейчас хочу рассказать. Никогда не задумывалась, есть ли у этого способа доказательство, поэтому сейчас пришлось некоторые доказательства выводить самой.

Основой этого способа, является состав числа =.

=&, т.е. & 2 =596334.

1. Разбиваем число (5963364) на пары справа налево (5`96`33`64)

2. Извлекаем квадратный корень из первой слева группы ( - число 2). Так мы получаем первую цифру числа &.

3. Находим квадрат первой цифры (2 2 =4).

4. Находим разность первой группы и квадрата первой цифры (5-4=1).

5.Сносим следующие две цифры (получили число 196).

6. Удваиваем первую, найденную нами цифру, записываем слева за чертой (2*2=4).

7.Теперь необходимо найти вторую цифру числа &: удвоенная первая цифра, найденная нами, становится цифрой десятков числа, при умножении которого на число единиц, необходимо получить число меньшее 196 (это цифра 4, 44*4=176). 4 - вторая цифра числа &.

8. Находим разность (196-176=20).

9. Сносим следующую группу (получаем число 2033).

10. Удваиваем число 24, получаем 48.

11.48 десятков в числе, при умножении которого на число единиц, мы должны получить число меньшее 2033 (484*4=1936). Найденная нами цифра единиц (4) и есть третья цифра числа &.

Доказательство приведено мной для случаев:

1. Извлечение квадратного корня из трехзначного числа;

2. Извлечение квадратного корня из четырехзначного числа.

Приближенные методы извлечения квадратного корня (без использования калькулятора) .

1.Древние вавилоняне пользовались следующим способом нахождения приближенного значения квадратного корня их числа х. Число х они представляли в виде суммы а 2 +b, где а 2 ближайший к числу х точный квадрат натурального числа а (а 2 ?х), и пользовались формулой . (1)

Извлечем с помощью формулы (1) корень квадратный, например из числа 28:

Результат извлечения корня из 28 с помощью МК 5,2915026.

Как видим способ вавилонян дает хорошее приближение к точному значению корня.

2. Исаак Ньютон разработал метод извлечения квадратного корня, который восходил еще к Герону Александрийскому (около 100 г. н.э.). Метод этот (известный как метод Ньютона) заключается в следующем.

Пусть а 1 - первое приближение числа (в качестве а 1 можно брать значения квадратного корня из натурального числа - точного квадрата, не превосходящего х) .

Следующее, более точное приближение а 2 числа найдется по формуле .

Размер: px

Начинать показ со страницы:

Транскрипт

1 ЛЕКЦИЯ 2 ВЫЧИСЛЕНИЕ НАИБОЛЬШЕГО ОБЩЕГО ДЕЛИТЕЛЯ Алгоритм Евклида При работе с большими составными числами их разложение на простые множители, как правило, неизвестно. Но для многих прикладных задач теории чисел поиск разложения числа на множители является важной, часто встречающейся практической задачей. В теории чисел существует сравнительно быстрый способ вычисления НОД двух чисел, который называется алгоритмом Евклида. Алгоритм 1. Алгоритм Евклида . Вход. Целые числа а, b; 0 < b < а. Выход. d = НОД (a,b). 1. Положить r 0 a, r 1 b, i Найти остаток r i+1 от деления r i 1 на r i. 3. Если r i+1 = 0, то положить d r i. В противном случае положить i i + 1 и вернуться на шаг Результат: d. Теорема. Для любых а, b > 0 алгоритм Евклида останавливается и выдаваемое им число d является наибольшим общим делителем чисел а и b. Доказательство . По теореме о делении с остатком для любого i 1 имеем r i 1 = q i r i + r i+1, где 0 r i+1 < r i. Получаем монотонно убывающую последовательность неотрицательных целых чисел r 1 > r 2 > r 3 >... 0, ограниченную снизу. Такая последовательность не может быть бесконечной, следовательно, алгоритм Евклида останавливается. Бинарный алгоритм Евклида Бинарный алгоритм Евклида вычисления НОД оказывается более быстрым при реализации этого

2 алгоритма на компьютере, поскольку использует двоичное представление чисел а и b. Бинарный алгоритм Евклида основан на следующих свойствах наибольшего общего делителя (считаем, что 0 < b а): 1) если оба числа а и b четные, то НОД(a,b) = 2 НОД(a/2, b/2) 2) если число а нечетное, число b четное, то НОД(a, b) = НОД(а, b/2); 3) если оба числа а и b нечетные, а > b, то НОД(а, b) = НОД(а b, b); 4) если а = b, то НОД(а, b) = а. Алгоритм 2. Бинарный алгоритм Евклида . Вход. Целые числа a, b; 0 < b а. Выход. d = HOД(a,b). 1. Положить g Пока оба числа а и b четные, выполнять а a/2, b b/2, g 2g до получения хотя бы одного нечетного значения а или b. 3. Положить u a, v b. 4. Пока u 0, выполнять следующие действия Пока u четное, полагать u u/ Пока v четное, полагать v v/ При u v положить u u v. В противном случае положить v v u. 5. Положить d gv. 6. Результат: d. Расширенный алгоритм Евклида Расширенный алгоритм Евклида находит наибольший общий делитель d чисел а и b и его линейное представление, т. е. целые числа x и у, для которых ах + by = d, и не требует «возврата», как в рассмотренном примере. Пусть d НОД для a и b, т. е. d = (a, b), где a > b. Тогда существуют такие целые числа x и y, что d = ax + by. Иными словам, НОД двух чисел можно представить в

3 виде линейной комбинации этих чисел с целыми коэффициентами. Алгоритм 3. Схема расширенного алгоритма Евклида. 1. Определить = 1, = 0, = 0, = 1, α = a, β = b. 2. Пусть число q частное от деления числа a на число b, а число r остаток от деления этих чисел (т. е. a = qb + r). a = b; b = r; t = ; //t = x i-1 ; = t q; // = x i для правой части = x i+1 для правой; //t = y i-1 ; = t q; 5. Возвращаемся на шаг Определяем x = x 0, y = y 0, d = αx + βy. Вариант расширенного алгоритма Евклида Вход. Целые числа а, b; 0 < b а. Выход: d = НОД(а, b); такие целые числа х, у, что ах + by = d. 1. Положить r 0 а, r 1 b, х 0 1, x 1 0, у 0 0, y 1 1, i 1 2. Разделить с остатком r i 1 на r i,: r i 1 = q i r i +r i Если r i+1 = 0, то положить d r i, х x i у y i. В противном случае положить x i+1 x i 1 x i, y i+1 y i 1 y i, i i + 1 и вернуться на шаг Результат: d, х, у. Корректность определения чисел х и у,

4 вычисляемых алгоритмом, показывает следующая теорема. Теорема 4. На каждой итерации алгоритма 3 выполняется равенство аx i + by i = r i, при i 0. Доказательство . Воспользуемся методом математической индукции. Для i = 0 и i = 1 требуемое равенство имеет место в силу шага 1 алгоритма 3. Допустим, что оно справедливо для i 1 и для i. Тогда на шаге 3 получаем x i+1 = x i 1 x i и y i+1 = y i 1 y i. Следовательно, аx i+1 + by i+1 = a(x i 1 x i) + b(y i 1 y i,) = ax i 1 + by i 1 (ax i + by i) = r i 1 r i = r i+1. Пример. Дано a = 1769, b = 551. Используя расширенный алгоритм Эвклида, найти целые числа x и y такие, что d = ax + by, где d НОД чисел a и b. I этап последовательности вычислений. 1. Определить = 1, = 0, = 0, = 1, α = 1769, β = Частное от деления q = a/b = 1769/551 = 3, а остаток от деления r = 116. a = 551; b = 116; t = =0: = t q = 1 0 = 1 = 0; = t q = 3; следующие промежуточные значения

5 параметров: a= 551, b = 116, = 0, = 1, = 1, = Так как остаток от деления r 0, то возвращаемся на шаг 2. II этап последовательности вычислений. 1. Значение параметров: a = 551, b = 116, = 0, = 1, = 1, = Частное от деления q = a/b = 551/116 = 4, а остаток от деления r = 87. a = 116; b = 87; t = = 0; =1: = t q = = 4 = 3; = t q = 1 (3) 4 = 13; следующие промежуточные значения параметров: a= 116, b = 87, = 1, = 4, = 3, = Так как остаток от деления r 0, то возвращаемся на шаг 2. III этап последовательности вычислений. 1. Значение параметров: a= 116, b = 87, = 1, = 4, = 3, = Частное от деления q = a/b = 116/87 = 1, а остаток от деления r = 29.

6 a = 87; b = 29; t = = 4: = t q = 1 (4) 1 = 5; = 3; = 13; = t q = 3 (13) 1 = 16; следующие промежуточные значения параметров: a= 87, b = 29, = 4, = 5, = 13, = Так как остаток от деления r 0, то возвращаемся на шаг 2. IV этап последовательности вычислений. 1. Значение параметров: a= 87, b = 29, = 4, = 5, = 13, = Частное от деления q = a/b = 87/29 = 3, а остаток от деления r = 0. a = 87; b = 29; t = = 4; = 5; = 19; = 13; = 16; = t q = 13 (16) 3 = 61; следующие промежуточные значения параметров: a= 87, b = 29, = 5, = 19, = 16, = Так как остаток от деления r = 0, то выполняем шаг 6.

7 6. Вычисляем НОД по формуле d = αx + βy, где x = x 0 = 5, y = y 0 = 16, α= 1769, β = 551. Подставляя значение параметров, получаем d = αx + βy = = = 29. Расширенный алгоритм Евклида можно реализовать и в двоичном виде. Алгоритм 4. Расширенный бинарный алгоритм Евклида . Вход. Целые числа а, b; 0 < b а. Выход. d = НОД(a, b); такие целые числа х, у, что ах + by = d. 1. Положить g Пока оба числа а и b четные, выполнять а a/2, b b/2, g 2g до получения хотя бы одного нечетного значения а или b. 3. Положить u a, v b, А 1, В 0, С 0, D Пока u 0, выполнять следующие действия Пока u четное, положить u u/ Если оба числа А и B четные, то положить A A/2, B B/2. В противном случае положить A (A+b)/2, B (B a)/ Пока v четное: Положить v v/ Если оба числа С и D четные, то положить С C/2, D D/2. В противном случае положить C (C + b)/2, D (D a)/ При u v положить u u v, А А С, В В D. В противном случае положить v v u, C C A, D D B. 5. Положить d gv, x С, у D. 6. Результат: d, х, у.


Решение уравнений в целых числах Линейные уравнения. Метод прямого перебора Пример. В клетке сидят кролики и фазаны. Всего у них 8 ног. Узнать сколько в клетке тех и других. Укажите все решения. Решение.

Занятие 7 Число d называется наибольшим общим делителем (НОД) чисел a и b, если (1) d a и d b, а также (2) для всех x из x a и x b следует x d. В этом случае пишем d = (a, b). Лемма 1. Для любых чисел

Тема. Основы элементарной теории чисел и приложения- Теоретический материал. Множество вычетов по модулю, свойства сравнений. Пусть натуральное число, большее. Через Z обозначаем множество всех классов

Югорский физико-математический лицей ВП Чуваков ОСНОВЫ ТЕОРИИ ЧИСЕЛ Конспект лекций (0)(mod) (0)(mod) Натуральные числа N, - множество натуральных чисел, используемых для счета или перечисления

Глава 2 Целые, рациональные и вещественные числа 2.. Целые числа Числа, 2, 3,... называются натуральными. Множество всех натуральных чисел обозначается N, т.е. N = {,2,3,...}. Числа..., 3, 2,0,2,3,...

Цепные дроби Конечные цепные дроби Определение Выражение вида a 0 + a + a + + a m где a 0 Z a a m N a m N/{} называется цепной дробью а m - длиной цепной дроби a 0 a a m будем называть коэффициентами цепной

ЛЕКЦИЯ 1 НЕКОТОРЫЕ ЭЛЕМЕНТЫ ТЕОРИИ ЧИСЕЛ В пособии не излагается теория чисел а дан минимальный инструментарий из этой теории который в дальнейшем потребуется для изучения криптографических систем используемых

Горбачев НЕ Многочлены от одной переменной Решение уравнений степени Понятие многочлена Арифметические операции над многочленами Опр Многочленом (полиномом) -й степени относительно переменной величины

Делимость целых чисел Число а делится на число b (или b делит а) если существует такое число с, что а=bc При этом число c называется частным от деления а на b Обозначения: a - а делится на b или ba b делит

ЛЕКЦИЯ 12 СРВНЕНИЯ ВТОРОЙ СТЕПЕНИ ПО ПРОСТОМУ МОДУЛЮ И КВАДРАТИЧНЫЕ ВЫЧЕТЫ Общий вид сравнения второй степени по простому модулю р имеет вид (1) с 0 х 2 + с 1 х + с 2 0 mod p. Поиск решения сравнения (1)

Указания, решения, ответы УРАВНЕНИЯ В ЦЕЛЫХ ЧИСЛАХ. Уравнение с одной неизвестной.. Решение. Подставим в уравнение. Получим равенство (4a b 4) (a b 8) 0. Равенство A B 0, где А и В целые, выполняется,

Алгебраические многочлены. 1 Алгебраические многочлены степени n над полем K Определение 1.1 Многочленом степени n, n N {0}, от переменной z над числовым полем K называется выражение вида: fz = a n z n

Лекция Квадратичные вычеты и невычеты Лектор: НЮ Золотых Записал: Е Замараева?? сентября 00 Содержание Квадратичные вычеты и невычеты Символ Лежандра Свойства символа Лежандра Квадратичный закон взаимности

ГОУ Школа-интернат ""Интеллектуал"" И с с л е д о в а т е л ь с к а я р а б о т а п о м а т е м а т и к е на тему: «О представимости натуральных чисел в виде линейной комбинации с целыми коэффициентами»

Математический анализ Раздел: Неопределенный интеграл Тема: Интегрирование рациональных дробей Лектор Пахомова Е.Г. 0 г. 5. Интегрирование рациональных дробей ОПРЕДЕЛЕНИЕ. Рациональной дробью называется

4 Теория чисел 4 Целые числа 7 Определение Пусть, b Z Тогда делит b, если существует целое число такое что b (обозначается b) 73 Теорема (деление с остатком) Если, b Z и b, тогда найдутся такие целые

Математический анализ Раздел: Неопределенный интеграл Тема: Интегрирование рациональных дробей Лектор Рожкова С.В. 0 г. 5. Интегрирование рациональных дробей ОПРЕДЕЛЕНИЕ. Рациональной дробью называется

009-00 уч. год. 6, 9 кл. Математика. Элементы теории чисел. 4. Вычисление наибольшего общего делителя и наименьшего общего кратного Сохраним обозначения из параграфа. Для натурального числа n запись n

ПРИКЛАДНАЯ АЛГЕБРА. Часть I: Конечные поля (поля Галуа). I 1 / 67 Часть I Конечные поля (поля Галуа). I ПРИКЛАДНАЯ АЛГЕБРА. Часть I: Конечные поля (поля Галуа). I 2 / 67 Поля вычетов по модулю простого

5 Решение уравнений в целых числах В решении даже таких простейших уравнений, как линейное уравнение с одним неизвестным, есть свои особенности, если коэффициенты уравнения являются целыми числами, и требуется

Лабораторная работа 8 Вычисление наибольшего общего делителя для двух чисел при помощи алгоритма Евклида Цель работы используя алгоритм Эвклида создать программу, которая для чисел a и b определяет наибольший

Раздел 1. Математические основы криптографии 1 Определение поля Конечным полем GF q (или полем Галуа) называют конечное произвольное множество элементов с заданными между ними операциями сложения, умножения

XIX Межрегиональная олимпиада школьников по математике и криптографии Задачи для 11 класса Решение задачи 1 Сначала заметим, что если N = pq, где p и q простые числа, то количество натуральных чисел, меньших

Многочлены и их корни 2018 г. Гущина Елена Николаевна Определение: Многочленом степени n n N называется всякое выражение вида: P & z = a & z & + a &+, z &+, + + a, z + a., где a &, a &+, a, a. R, a &

Лекция 4. СТАНДАРТ AES. АЛГОРИТМ RIJNDAEL. Стандарт AES (Advnced Encrypton Stndrd) представляет собой новый стандарт шифрования с одним ключом, который заменил стандарт DES. Алгоритм Rjndel (рейн-дал)

Многочлены и их корни Определение: Многочленом степени n (n N) называется всякое выражение вида: P n (z) = a n z n + a n 1 z n 1 + + a 1 z + a 0, где a n, a n 1, a 1, a 0 R, a n старший коэффициент, a

1 Алгоритм Евклида и его сложность Определение 1. Общим делителем чисел a и b называется такое число c, что c a и c b. Определение 2. Наибольшим общим делителем чисел a и b называется такой их общий делитель,

ЛЕКЦИЯ 14 Вычисление квадратных корней по составному модулю Из приведенной выше теории следует, что если =, где и простые числа, группа Z изоморфна пространству Z Z. Поскольку изоморфизм сохраняет свойства

ЛЕКЦИЯ 3 ВЫЧИСЛЕНИЕ КВАДРАТНЫХ КОРНЕЙ ПО МОДУЛЮ Случай простого модуля Рассмотрим сравнение х a mod р, () где число р простое и целое число а не делится на p Вычисление решения x данного уравнения является

Программа коллоквиума по дискретной математике (основной поток) В начале коллоквиума Вы получите билет, в котором будет три вопроса: вопрос на знание определений, задача, вопрос на знание доказательств.

Алгоритм Шора Ю. Лифшиц. 1 декабря 005 г. План лекции 1. Подготовка (a) Разложение чисел на множители (b) Квантовые вычисления (c) Эмуляция классических вычислений. Алгоритм Саймона (a) Квантовый параллелизм

Из истории математики Первой достаточно объемной книгой, в которой арифметика излагалась независимо от геометрии, было Введение в арифметику Никомаха (ок нэ) В истории арифметики её роль сравнима с ролью

Краткое введение в начала элементарной теории чисел Денис Кириенко Летняя компьютерная школа, 1 января 2009 года Целочисленное деление Пусть дано два целых числа a и b, b 0. Целочисленным частным от деления

Тема 1-9: Многочлены. Построение кольца многочленов. Теория делимости. Производная А. Я. Овсянников Уральский федеральный университет Институт математики и компьютерных наук кафедра алгебры и дискретной

Алгебраические уравнения где Определение. Алгебраическим называется уравнение вида 0, P () 0, некоторые действительные числа. 0 0 При этом переменная величина называется неизвестным, а числа 0, коэффициентами

Лекция 6 Элементы теории чисел 1 Задача. Продолжите числовой ряд 1, 3, 5, 7, 1, 3, 5, 7, 11 1, 11, 101, 1001, 1, 11, 101, 1001, 1011, 2 Арифметика целых чисел Использует целые числа: Z = {, -2, -1, 0,

Многочлены Многочленом с одной переменной х степени n называют выражение вида, где - любые числа, называемые коэффициентами многочлена, причем называют старшим коэффициентом многочлена Если вместо переменной

1 2 Содержание. 1. Введение. 4-6 1.1. Аннотация...4 1.2. Проблема 4 1.3. Цель работы 5 1.4. Гипотеза..5 1.5. Предмет исследования... 5 1.6. Объект исследования. 5 1.7. Новизна... 5-6 1.8. Методы исследования...6

8.3, 8.4.2 класс, Математика (учебник Макарычев) 2018-2019 уч.год Тема модуля «Целые числа. Делимость чисел. Степень с целым показателем» В тесте проверяются теоретическая и практическая части. ТЕМА Знать

Лекция ИНТЕГРИРОВАНИЕ РАЦИОНАЛЬНЫХ ДРОБЕЙ Рациональные дроби Интегрирование простейших рациональных дробей Разложение рациональной дроби на простейшие дроби Интегрирование рациональных дробей Рациональные

Www.cryptolymp.ru XIX Межрегиональная олимпиада школьников по математике и криптографии (11 класс) Решение задачи 1 Сначала заметим, что если N pq, где p и q простые числа, то количество натуральных чисел,

Глава Целые числа Теория делимости Целыми называются числа, -3, -, -, 0, 3, те натуральные числа, 3, 4, а также нуль и отрицательные числа -, -, -3, -4, Множество всех целых чисел обозначается через

Министерство образования и науки РФ Уральский государственный экономический университет Ю. Б. Мельников Многочлены Раздел электронного учебника для сопровождения лекции Изд. 4-е, испр. и доп. e-mail: [email protected],

{тригонометрический ряд тригонометрическая система примеры - разложение на интервале [ -l; l ] для функций произвольного периода - неполные ряды разложение по синусам и косинусам четные и нечетные продолжения}

Теоретическая информатика II Лекция 5. Целочисленные алгоритмы: расширенный алгоритм Евклида, обратный элемент по модулю, возведение в степень по модулю. Криптография с открытым ключом, протокол RSA. Вероятностная

5. Коды Боуза-Чоудхури-Хоквингема Корректирующие свойства циклических кодов могут быть определены на основе двух теорем . Теорема 1. Для любых m и t существует циклический код длиной n = 2 m 1, с кратностью

МОДУЛЬНАЯ АРИФМЕТИКА В некоторых приложениях удобно выполнять арифметические операции над целыми числами, заданными в так называемом модульном представлении Это представление предполагает, что целое число

МАТЕМАТИКА ЕГЭ 00 Корянов А.Г. Задания С г. Брянск Замечания и пожелания направляйте по адресу: [email protected] УРАВНЕНИЯ И НЕРАВЕНСТВА В ЦЕЛЫХ ЧИСЛАХ (от учебных задач до олимпиадных задач) Линейные

2.22. Вынесите за скобки общий множитель (n натуральное число): 1) x n + 3 + x n ; 3) z 3n - z n ; 2) y n + 2 - y n - 2, n > 2; 4) 5 n + 4 + 2 5 n + 2-3 5 n + 1. 2.23. Каждому числу поставили в соответствие

ЛЕКЦИЯ 15 ПРОСТЫЕ ЧИСЛА Натуральное число p, больше единицы называется простым, если оно делится нацело только на 1 и на себя. Теорема (Эвклид). Множество простых чисел бесконечно. Обозначим через π(x)

Тема 3. Элементы алгебраической и аналитической теории чисел Теоретический материал 1. Цепные дроби. Конечной цепной дробью называется выражение a +, (1) где a - целое число, a, i > 0, натуральные числа,

Http://vk.ucoz.et/ Операции над многочленами k a k Многочленом (полиномом) степени k называется функция вида a, где переменная, a - числовые коэффициенты (=,.k), и. Любое ненулевое число можно рассматривать

Пензенский государственный педагогический университет имени В. Г. Белинского М. В. Глебова В. Ф. Тимербулатова ПРАКТИЧЕСКИЕ ЗАНЯТИЯ ПО АЛГЕБРЕ МНОГОЧЛЕНОВ Учебно-методическое пособие Пенза Печатается по

ДЕЛИМОСТЬ ЦЕЛЫХ ЧИСЕЛ С ОСТАТКОМ Пусть m целое число, а n натуральное число Если m > n и m не делится на n нацело, то возможно деление m на n с остатком Определение 3 Для любого целого числа m и любого

Авдошин С.М., Савельева А.А. Алгоритм решения систем линейных уравнений в кольцах вычетов Разработан эффективный алгоритм решения систем линейных уравнений в кольцах вычетов , эквивалентный по сложности

ПРИКЛАДНАЯ АЛГЕБРА. Часть I: Конечные поля (поля Галуа) I 1 / 88 Часть I Конечные поля (поля Галуа) I ПРИКЛАДНАЯ АЛГЕБРА. Часть I: Конечные поля (поля Галуа) I 2 / 88 Поля вычетов по модулю простого числа

5 Алгебраические структуры 6 Определение Бинарная операция на множестве S есть отображение S S в S То есть, является правилом, которое каждой упорядоченной паре элементов из S ставит в соответствие некоторый

/Е Э лементы теории чисел и. рочев 28 августа 2018 г. Оглавление Оглавление i 1 Целые числа 1 1.1 Вводные задачи....................................... 1 1.2 Наибольший общий делитель..............................

Глава Целые, рациональные и действительные числа. Деление с остатком. Каждое из чисел ±23, ±4 разделите с остатком на каждое из чисел ±5. 2. Найдите все положительные делители числа 42. 3. Сейчас 3 часов.

Дифференциальные уравнения лекция 4 Уравнения в полных дифференциалах. Интегрирующий множитель Лектор Шерстнёва Анна Игоревна 9. Уравнения в полных дифференциалах Уравнение d + d = 14 называется уравнением

Тема. Основы элементарной теории чисел и приложения-. Первообразные корни, индексы. Теоретический материал Пусть а, m натуральные взаимно простые числа, причем m, тогда, согласно теореме Эйлера, a m)

Кафедра математики и информатики Элементы высшей математики Учебно-методический комплекс для студентов СПО, обучающихся с применением дистанционных технологий Модуль Теория пределов Составитель: доцент

Раздел 2. Теоретико-численные методы в криптографии Задание на самостоятельную работу Изучить алгоритмы, которые широко применяются в криптографии. Элементы теории чисел: расширенный алгоритм Евклида;

Тематический план составлен на основе программного материала 206-207 уч.года по учебнику «Алгебра 8» под ред. А.Г.Мордковича с учетом рекомендованного обязательного минимума содержания образования Тема

Лекция 2. Свойства биномиальных коэффициентов. Подсчет сумм и метод производящих функций (конечный случай). Полиномиальные коэффициенты. Оценки биномиальных и полиномиальных коэффициентов. Оценки сумм

Рассмотрим этот алгоритм на примере. Найдем

1-й шаг. Число под корнем разбиваем на грани по две цифры (справа налево):

2-й шаг. Извлекаем квадратный корень из первой грани, т. е. из числа 65, получаем число 8. Под первой гранью пишем квадрат числа 8 и вычитаем. К остатку приписываем вторую грань (59):

(число 159 - первый остаток).

3-й шаг. Удваиваем найденный корень и пишем результат слева:

4-й шаг. Отделяем в остатке (159) одну цифру справа, слева получаем число десятков (оно равно 15). Затем делим 15 на удвоенную первую цифру корня, т. е. на 16, так как 15 на 16 не делится, то в частном получается нуль, который записываем как вторую цифру корня. Итак, в частном получили число 80, которое опять удваиваем, и сносим следующую грань

(число 15 901 - второй остаток).

5-й шаг. Отделяем во втором остатке одну цифру справа и полученное число 1590 делим на 160. Результат (цифру 9) записываем как третью цифру корня и приписываем к числу 160. Полученное число 1609 умножаем на 9 и находим следующий остаток (1420):

В дальнейшем действия выполняются в той последовательности, которая указана в алгоритме (корень можно извлекать с нужной степенью точности).

Замечание. Если подкоренное выражение - десятичная - дробь, то ее целую часть разбивают на грани по две цифры справа налево, дробную часть - по две цифры слева направо и извлекают корень по указанному алгоритму.

ДИДАКТИЧЕСКИЙ МАТЕРИАЛ

1. Извлеките квадратный корень из числа: а) 32; б) 32,45; в) 249,5; г) 0,9511.

Приветствуем читателей и посетителей нашего сайта!. В этой рубрике мы с вами будем разбирать различные алгоритмы, а также их реализацию на Паскале.

Для освоения материала сегодняшнего урока вам понадобится знание и .

Сегодня мы рассмотрим три алгоритма(из пяти) на нахождение наибольшего общего делителя двух целых чисел, два из которых непосредственно связывают с именем Евклида. Еще два мы рассмотрим в следующей части.
Наибольший общий делитель (НОД) двух чисел a и b - наибольшее целое число, которое делит их оба.
Пример: НОД(25, 5) = 5; НОД(12, 18) = 6.

Переборный алгоритм

Начинаем перебор с d - наименьшего из двух чисел. Это первый, очевидный кандидат на роль их наибольшего общего делителя. А затем, пока d не делит оба числа, уменьшаем его на единицу. Как только такое деление будет обеспечено, останавливаем уменьшение d.

Var a, b, d: integer; begin write("Введите два числа: "); readln(a, b); if a < b then d:= a + 1 else d:= b + 1; {так как мы используем цикл с постусловием, необходимо минимальное значение увеличить на один, иначе цикл repeat, в силу своих конструктивных особенностей, не учтет это минимальное число и не сделает его кандидатом в НОД. Например, 5 и 25.} repeat d:= d - 1 until (a mod d = 0) and (b mod d = 0); write("NOD = ", d) end.

Обратимся к этой программе, например, с числами 30 и 18. Тогда на пути к ответу(числу 6) ей придется перебрать числа: 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6.

Алгоритм Евклида «с вычитанием»

Пусть a и b - целые числа, тогда верны следующие утверждения:

  1. Все общие делители пары a и b являются также общими делителями пары a - b, b;
  2. И наоборот, все общие делители пары a - b и b являются также общими делителями пары a и b;
  3. НОД(A, B) = НОД(A - B, B), если A > B;
  4. НОД(A, 0) = A.

Доказательство:

  1. Если t - произвольный общий делитель a и b, то он делит и разность a - b. Действительно, из a = t * u и b = t * v следует, что a - b = t * u - t * v = t * (u - v). То есть t - также общий делитель а - b и b.
  2. Обратно, если t - произвольный делитель общий делитель a - b и b, то он делит и их сумму a - b + b = a. Это можно доказать аналгично предыдущему. Поэтому t - также общий делитель a и b.
  3. Делаем вывод, что множество общих делителей a и b совпадает с множеством делителей a - b и b. В частности, совпадают и наибольшие общие делители этих пар.
  4. Наибольшее целое, на которое делится число a, есть само число а. Число 0 делится на любое число. Отсюда наибольший общий делитель а и 0 равен а.

Доказанная формула(3) позволяет свести вычисление наибольшего делителя одной пары к вычислению наибольшего общего делителя другой пары, в которой числа уже меньше. Очевидная же формула (4) дает нам понять, когда надо остановиться.

Вкратце алгоритм Евклида «с вычитанием» будет таким. Вычитаем из большего числа меньшее и заменяем большее на разность до тех пор, пока одно из чисел не обратится в нуль. Тогда оставшееся ненулевое число - наибольший общий делитель.

Пример. Пусть а = 82 и b = 60. НОД(82, 60) = НОД(22, 60) = НОД(22, 38) = НОД(22, 16) = НОД(6, 16) = НОД(6, 10) = НОД(6, 4) = НОД(2, 4) = НОД(2, 2) = НОД(2, 0) = 2.

На предпоследнем шаге алгоритма, перед появлением 0, оба числа равны, иначе не мог возникнуть 0. Поэтому мы будем извлекать НОД именно в этот момент.

Блок - схема алгоритма Евклида «с вычитанием»

Программа

var a, b: integer; begin write("a = "); readln(a); write("b = "); readln(b); while a <> b do if a > b then a:= a - b else b:= b - a; writeln("NOD = ", a); end.

Алгоритм Евклида с «делением»

Пусть a и b - целые числа, а r - остаток от деления a на b. Тогда НОД(a, b) = НОД(b, r).

Эта формула также позволяет свести вычисление наибольшего общего делителя одной пары чисел к вычислению наибольшего обшего делителя другой пары чисел.

Пример. НОД(82, 60) = НОД(22, 60) = НОД(22, 16) = НОД(6, 16) = НОД(6, 4) = НОД(2, 4) = НОД(0, 2) = 2.

Var a, b: integer; begin write("a = "); readln(a); write("b = "); readln(b); while (a <> 0) and (b <> 0) do if a >= b then a:= a mod b else b:= b mod a; write(a + b) end.

На сегодня все! Еще несколько модификаций алгоритма Евклида и способов нахождения НОД вы узнаете на следующих уроках.



Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: