Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Что-то Вы с товарищем Heller'ом о разных методах. 15.12.04 17:24 Число просмотров: 5659
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
|
> Это алгоритм эспонирования методом возведения в квадрат.
Что-то Вы с товарищем Heller'ом о разных методах.
Это как старый еврейский анекдот: Поспорили как-то о чем-то Абрам и Ефим. Пришли они к мудрейшему Иосифу разрешить спор. Выслушал Иосиф Абрама и вынес вердикт: "Ты прав!". "Ну как же так!", - возмутился Ефим и выложил свою точку зрения. "И ты прав!", - согласился с ним Иосиф. "Не может такого быть, чтобы они оба правы были!", - вклинилась в разговор Сара, жена Иосифа. "Гм. Однако и ты тоже права!", - ответил ей Иосиф.
> Суть его в том, чтобы представить > > pm = > pm0*20 + > m1*21 + ... + > mi*2i > где mi..m1,m0 - просто двоичные знаки числа > > Тогда pm = > pm0*20 * > pm1*21 * ... > * pmi*2i > > Эффективность возведения в степень будет зависить только от > эффективности алгоритма умножения и алгоритма возведения в > квадрат (зачастую есть более эффективные алгоритмы, чем > прямое умножение n*n) > > Ну и сложность примерно O(log2(m)). > Опять же отмечу, если нужно модульное возведение в степень, > то ни один из шагов этого алгоритма не дает чисел больших, > чем модуль, по которому производятся вычисления
|
|
|