RSS RSS
Добавлено: 2005-11-11 14:31:27   Деление по модулю
Гость

Подскажите, пожалуйста, есть ли в классе CBigNumber средства для выполнения нахождения обратного элемента в кольце вычетов? Или его можно найти только используя стандартный алгоритм?

Ответить | Цитировать
Добавлено: 2005-11-12 13:25:47
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
Если я правильно понял задачу, то она решается в лоб возведением числа в степень n-1 по модулю n (для простого n). Такая операция в классе есть, но вот насколько она эффективна по сравнению алгоритмом Евклида? Можно запрограммировать и сравнить.

Ответить | Цитировать
Добавлено: 2005-11-14 16:37:24
Гость

В общем случае решается возведением числа в степень y(n) (где y(n) - функция Эйлера, y(n)=n-1 для простого числа, для сложных чисел свои правила вычисления y(n)) по модулю n. Вот и хотелось узнать, есть ли в классе метод для любых чисел (не только простых). Наверно, запрограммирую Евклида.

Ответить | Цитировать
Добавлено: 2005-11-16 20:34:05
Raul

Зарегистрирован(а): 17.03.2010

Сообщений: 101 (просмотреть)
Тогда пришлите код улыбка - для следущей версии.

Ответить | Цитировать