Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
экзам крипто.docx
Скачиваний:
16
Добавлен:
24.09.2019
Размер:
94.98 Кб
Скачать
  1. Алгоритм Евклида. Получение рае. Решето Эратосфена.

Алгоритм Евклида дает правило вычисления наибольшего общего делителя (НОД) 2-х натуральных чисел.

(a,b)= d, где d – НОД (Наибольший общий делитель)

НОК – наименьшее общее кратное

[a,b] = k, где k – НОК (Наименьшим общим кратным)

Если НОД(а, b)= 1, то числа а и b взаимно простые. НОК двух чисел a и b можно вычислить на знании НОД(a, b) по формуле: a*b=d*k, т.е. нок(а,b)= a*b/нод(a,b).

Существует рекуррентная запись запись алгоритма Евклида, которая заканчивается за определенное число шагов. Разложим большее через меньшее b< a

a=b*q1+r1

b=r1*q2+r2

r1=r2*q3+r3

……………………………

rn-3=Rn-2*qn-1 + rn-1

rn-2=Rn-1*qn и rn=0

Существует теорема что Rn-1– НОД. На основание теоремы сделаем вывод, что

a=b*q+S

НОД(a,b)= НОД(b,s)

Расширенный алгоритм Евклида (РАЕ)

(a,b)=d, d можно разложить по формуле: ax+by=d

Дополнительно вычисляются коэффициенты x,y

R1=ax1+by1 Rn-1=axn-1+byn-1

R2=ax2+by2 Rn-2=axn-2+byn-2

………………………………… Xn-1=x; yn-1=y

Общий вид формул для вычисления xj и yj:

xj=xj-2-qjxj-1; yj=yj-2-qjyj-1

Решето Эратосфена

Цель алгоритма - определить все положительные простые числа, меньшие некоторой верхней границы п, где n N. Вначале выписываются все нечетные целые между 3 и n.

Далее ряд просеивается. Первое число в нем 3. Вычеркиваются из списка все числа, кратные трем и большие трех. Теперь выбирается наименьшее число из списка, превосходящее 3, которое еще не было вычеркнуто - число 5. Вычеркивается каждое число из списка, кратное пяти и большее пяти. Эта процедура продолжается до тех пор, пока не будут рассмотрены все числа до п.

При вычеркивании чисел, кратных р, отсчет начинается с числа р+2, и в том случае, если р+2 было вычеркнуто на предыдущих шагах алгоритма.

Можно отметить следующие замечания к алгоритму "решето Эратосфена".

1. Некоторые числа вычеркиваются больше, чем один раз.

2. Хотя процесс вычеркивания повторяется вплоть до граничного числа п, но все составные числа вычеркиваются раньше достижения этой границы.

  1. Вычисление нод и нок на основе канонического разложения числа.

Любое составное число m можно однозначно представить в виде произведения простых сомножителей p, m = p1*p2*.....*pk, где m – составное число, p – простое. Составное число может раскладываться на простые, при этом могут быть две формы:

1)когда все сомножители разные 2) когда есть кратные сомножители

Пример: 720 = 24*32*5 - такая форма носит название – каноническое разложение на простые сомножители. M=p1α1* p2α2* pkαk. Это позволяет при большем числе кратных

сомножителей достаточно компактно записать разложение.

Найдем НОД по след формуле: НОД=Пipimin(ai*bi), где Пi-произведение.

Min(ai*bi) - из каждой пары сомножителей выбирается сомножитель с минимальным показателем.

Пример 90= 2*32*5, 720= 24*32*5.

Берем минимальные показатели: НОД=Пipimin(ai*bi)=2*32*5=90 - т.е. число 90 является НОД(d) чисел 90 и 720. Аналогично НОК :

НОK= Пipimax(ai*bi)= 24*32*5=720 - т.е. число 720 является НОК(k) чисел 90 и 720.