Лабораторная работа №7 Тақырыбы: Некоторые алгоритмы расчета: Алгоритм Евклида. Обобщенный алгоритм Евклида. Алгоритм ранжирования



бет1/3
Дата04.11.2023
өлшемі37,17 Kb.
#189407
түріЛабораторная работа
  1   2   3
Байланысты:
Лабораторная работа 7


Лабораторная работа №7


Тақырыбы: Некоторые алгоритмы расчета: Алгоритм Евклида. Обобщенный алгоритм Евклида. Алгоритм ранжирования.
Определение 1. Предположим, a и b — два положительных целых числа. Число c, которое является наибольшим из чисел, делящихся на a и b, называется их наибольшим общим делителем и обозначается как c=нод (a,b)=gcd(a,b) (обозначая наибольший общий делитель как gcd Аббревиатура английского слова «наибольший общий делитель» (заглавные буквы).
Например,
Чтобы найти наибольший общий делитель, вы можете использовать следующий алгоритм, известный как алгоритм Евклида.
Определение 1.
Вход: положительные целые числа
Выход: наибольший общий знаменатель.
1.WHILE b
2. .
3. RETURN


Пример 1. Покажем, как вычислить НОД(28,8) с помощью алгоритма Евклида:



Каждый столбец здесь представляет собой последовательную интерпретацию алгоритма. Процесс продолжается до тех пор, пока b не станет равным нулю. Тогда мы получим ответ (4) в значении переменной a.


Во многих криптографических системах подходит преобразование, определяемое следующей теоремой, известной как обобщенный алгоритм Евклида.
Обобщенный алгоритм Евклида используется для нахождения НОД(a,b) и чисел x,y. Введем три строки , , ), , , ), и T= , , ). Алгоритм записан в следующем виде.


Алгоритм 2. Обобщенный алгоритм Евклида.
Вход: - положительные целые числа
Выход: (1)-удовлетворяющий

  1. (a,1,0), V



  2. div ;

  3. T ( mod





Результат находится в - строке. Операция в алгоритме делит это целое число:


.




Достарыңызбен бөлісу:
  1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет