Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
криптология.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
120.44 Кб
Скачать

Решето Сундарама

Из ряда натуральных чисел от 1 до N исключаются все числа вида

где индексы   пробегают все натуральные значения, для которых  ,

а именно значения   

и    

Затем каждое из оставшихся чисел умножается на 2 и увеличивается на 1. Полученная в результате последовательность представляет собой все нечётные простые числа в отрезке [1,2N+1].

Решето Аткина

В математике решето́ А́ткина — быстрый современный алгоритм нахождения всех простых чисел до заданного целого числа N. Основная идея алгоритма состоит в использовании неприводимых квадратичных форм (представление чисел в виде ax²+by²). Предыдущие алгоритмы в основном представляли собой различные модификации решета Эратосфена, где использовалось представление чисел в виде редуцированных форм (обычно произведения xy). Отдельный этап алгоритма вычеркивает числа, кратные квадратам простых чисел. 

  1. Нод, нок, Расширенный алгоритм Эвклида. Доказательство.

Наибольшим общим делителем (НОД) для двух целых чисел m и n называется наибольший из их общих делителей. Пример: для чисел 70 и 105 наибольший общий делитель равен 35.

Наибольший общий делитель существует и однозначно определён, если хотя бы одно из чисел m или n не ноль.

Возможные обозначения наибольшего общего делителя чисел m и n:

  • НОД(mn)

  • (mn)

  • gcd(mn) (от англ. Greatest Common Divisor)

Наименьшее общее кратное (НОК) двух целых чисел m и n — это наименьшее натуральное число, которое делится на m и n. Обозначается НОК(m,n) или  .

НОК для ненулевых чисел m, n всегда существует и связан с НОД следующим соотношением:

Это частный случай более общей теоремы: если   — ненулевые числа, D — какое-либо их общее кратное, то имеет место формула:

Вариант 2: Определение 1.1. Наибольшим общим делителем (далее НОД) двух целых чисел и b, одновременно не равных нулю, называется такое наибольшее целое число d, на которое a и b делятся без остатка. Этот факт обозначается так:d = НОД(ab). Если оба числа равны нулю, то положим НОД(0, 0) = 0.

 

Исходя из определения, имеют место следующие равенства:

НОД(ab) = НОД(ba),

НОД(ab) = НОД(-ab)

НОД(a, 0) = |a|

 

Определение 1.2. Наименьшим общим кратным (далее НОК) двух целых чисел и b называется наименьшее общее положительное целое число, кратное как a так и b.

 

алгоритм Евклида

Если НОД(ab) = d, то a и b делятся на d. Следовательно их разница a – bтакже делится на d. Имеет место следующее рекурсивное соотношение для вычисления НОД.

НОД(ab) =  

Пусть   и   — целые числа, не равные одновременно нулю, и последовательность чисел

определена тем, что каждое   — это остаток от деления предпредыдущего числа на предыдущее, а предпоследнее делится на последнее нацело, то есть

Тогда НОД(a,b), наибольший общий делитель   и  , равен  , последнему ненулевому члену этой последовательности.

Существование таких  , то есть возможность деления с остатком   на   для любого целого   и целого  , доказывается индукцией по m.

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

  • НОД(0, ) =   для любого ненулевого   (т.к. 0 делится на любое целое число, кроме нуля).

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

Для доказательства корректности нам необходимо показать, что   для любых  .

Покажем, что величина, стоящая в левой части равенства, делится на настоящую в правой, а стоящая в правой — делится на стоящую в левой. Очевидно, это будет означать, что левая и правая части совпадают, что и докажет корректность алгоритма Евклида.

Обозначим  . Тогда, по определению,   и  .

Далее, разложим остаток от деления   на   через их частное:

Но тогда отсюда следует:

Итак, вспоминая утверждение  , получаем систему:

Воспользуемся теперь следующим простым фактом: если для каких-то трёх чисел   выполнено:   и  , то выполняется и:  . В нашей ситуации получаем:

Или, подставляя вместо   его определение как  , получаем:

Итак, мы провели половину доказательства: показали, что левая часть делит правую. Вторая половина доказательства производится аналогично.