| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 14.12.2005
Адрес: Саратов
Сообщения: 62
![]() |
Поиск обратного элемента в простом поле
Есть поле вычетов по модулю простого числа. И есть число из этого поля. Надо найти обратный ему элемент. Я знаю, что для этого используется расширенный алгоритм Евклида. Может кто-нибудь знает что-нибудь побыстрее?
|
|
|
|
|
# 2 |
|
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
можно сделать поиск за константу
(насколько я понимаю). Просто создаешь таблицу элементов поля, т.е. у тебя получается (1, a, a^2, a^3, a^4 и т.д.), затем дается элемент a^i, где i - любое, обратное к нему будет сообветственно a^(p-i), где p - размерность поля. Вроде так, или я чего-то не понял...
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
|
|
|
|
# 4 | |
|
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
|
|
|
|
|
# 5 |
|
Advanced Member
Регистрация: 21.04.2005
Адрес: град Москва
Сообщения: 431
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
На практике часто приходилось находить (вручную) обратные для пятизначных и шестизначных чисел. Это в среднем 10-15 операций деления и соответственно обратный ход.
Чтобы составить таблицу, нужно гораздо больше операций. Разумеется, если постоянно использовать одно и тоже поле, и находить неоднократно в нем обратные, тогда соглашусь, что эффективнее провести некоторую подготовительную работу, составить таблицу и брать значения из нее. Надо смотреть на конкретную задачу. Насчет более усовершеннственных алгоритмов я не в курсе. |
|
|