АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Возведение в степень по модулю

Читайте также:
  1. IV степень (особо тяжелая)
  2. Активность и степень воздействия на другие государственные орга-
  3. Видимая и действительная степень сбраживания
  4. Возведение зданий с кирпичными стенами
  5. Возведение квадратной матрицы в целую степень
  6. Возведение монолитных ж/б плит перекрытий и наружных стен
  7. ВЫВОДЫ К МОДУЛЮ І.
  8. ВЫВОДЫ К МОДУЛЮ ІІ.
  9. ВЫВОДЫ К МОДУЛЮ ІІІ.
  10. Глава 1.СОБСТВЕННЫЕ КОЛЕБАНИЯ В ЛИНЕЙНОЙ КОНСЕРВАТИВНОЙ СИСТЕМЕ С ОДНОЙ СТЕПЕНЬЮ СВОБОДЫ (ГАРМОНИЧЕСКИЙ ОСЦИЛЛЯТОР)
  11. Глава VII. ВЫНУЖДЕННЫЕ КОЛЕБАНИЯ В СИСТЕМАХ С ОДНОЙ СТЕПЕНЬЮ СВОБОДЫ (ОБЩАЯ ПОСТАНОВКА ЗАДАЧИ)

Определение x y (mod n) при x, y > 0 совпадает с определением обычной степени целого числа (т.е = x x x … x (y раз) (mod n)).

Введем операцию целочисленного деления на 2 (y ÷ 2):

 

y÷ 2 = y /2, если y – четно
(y –1)/2, если y – нечетно

Тогда:

 

 

x y= (x 2) (y ÷ 2), если y – четно
x (x 2) (y ÷ 2), если y – нечетно

 

Алгоритм возведения целого числа в степень по модулю

 

ВХОД: x, y, n: целые числа x> 0, y≥ 0 n > 1

ВЫХОД: x, y (mod n).

Е (x, y, n)

1. if y = 0 return (1);

2. if y (mod 2) = 0 return (E (x2(mod n)), (y ÷ 2), n);

3. return (x ∙E (x2(mod n)), (y ÷ 2), n) (mod n).

Операция return (значение) возвращает процесс вычисления в точку вызова функции Е (т.е. если выполнен шаг 2, то шаг 3 не будет реализован).

Пример 1 Вычислить 221(mod 23).

221(mod 23) = Е (2, 21, 23) = 2∙ Е (4, 10, 23) = 2∙ Е (16, 5, 23) = 2∙ 16∙Е (162, 2, 23) =

= (2∙ 16)(mod 23) ∙Е (162(mod 23), 2, 23) = 9∙Е (3, 2, 23) = 9∙Е (9, 1, 23) = 81∙Е (9, 0, 23) =

=81 (mod 23) = 12.

Ответ: 221(mod 23) ≡ 12.

 

Пример 2 Вычислить 321(mod 23).

321(mod 23) = Е (3, 21, 23) = 3∙ Е (9, 10, 23) = 3∙ Е (81, 5, 23) = 3∙ 12∙Е (122, 2, 23) =

= (3∙ 12)(mod 23) ∙Е (122(mod 23), 2, 23) = 13∙Е (6, 2, 23) = 13∙Е (36(mod 23), 1, 23) =

= 13∙Е (13, 1, 23) = 13∙13∙Е (13, 0, 23) = 169 (mod 23) = 8.

Ответ: 321(mod 23) ≡ 8.

Пример 3 Вычислить 1121(mod 23).

1121(mod 23) = Е (11, 21, 23) = 11∙ Е (121(mod 23),10,23) = 11∙ Е (6,10,23) = 11∙ Е (36,5,23) =

= 11∙ Е (13, 5, 23) = 11∙13∙Е (169, 2, 23) = 5∙Е (8, 2, 23) = 5∙Е (64, 1, 23) = 5∙Е (18, 1, 23) =

= 5∙18∙Е (18, 0, 23) = 90 (mod 23) = 21. Ответ: 1121(mod 23) ≡ 21.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |

Поиск по сайту:



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