Форум программистов, компьютерный форум CyberForum.ru

Операция mod() - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать double в string http://www.cyberforum.ru/cpp-beginners/thread137374.html
Подскажите как преобразовать double в string ?? Нашел что то похожее при помощи ostringstream , но там не совсем то.. Преобразование string в double реализовал следующим образом: double val = atof(stroka.c_str()); , где stroka - объект класса string. Правильно?
C++ Вычислить сумму элементов , pасположенных на главной диагонали и выше ее Дана действительная квадpатная матpица поpядка n (n<=8). Вычислить сумму тех ее элементов , pасположенных на главной диагонали и выше ее,котоpые пpевосходят по величине все элементы, pасположенные ниже главной диагонали. Если таких элементов нет , вывести на экpан соответствующее сообщение. Я понимаю, что прога не сложная, но я просто не догоняю... P.S TC..... http://www.cyberforum.ru/cpp-beginners/thread137369.html
Найти сумму чисел, кратную трем. C++
найти сумму i(Е сверху N, снизу i=1 ) кратно трём!
Работа с Массивами: реализация списка через массив? C++
В общем: Можно ли записать в ячейку массива больше одного символа? Можно ли с помощью массива сделать к примеру список дел, т.е. я пишу "Вымыть посуду", "Помыть пол" и эта информация вводится в первую и вторую ячейку массива соотвественно, Если же нельзя, то подскажите как можно реализовать это? (т.е. чтобы записывать дела и чтобы потом их можно было удалять - редактировать - добавлять. ...
C++ dec2bin http://www.cyberforum.ru/cpp-beginners/thread137347.html
Доброго времени всем, задумался как-то над "простой задачей по переводу чисел из одно с.с. в другую", допустим у нас имеется какое-то число N, его надо перевести из 10 в 2ую форму, само число может быть каким угодно, по этому нужно либо использовать динамический массив либо искать какой-то отличный способ, кроме как деление на 2 с остатком и последующей инверсией 1 и 0. Кто-нибудь может...
C++ Вращение куба Возникают проблемы с циклами поворотов.Куб рисуется не полностью .Если кому -нибудь не сложно , подскажите в чем проблема. Часть программы : TKubic *Kubic; const int n=8, k=12; struct point { int x,y,z; }t; struct line подробнее

Показать сообщение отдельно
Ninasky
0 / 0 / 0
Регистрация: 29.05.2010
Сообщений: 12
30.05.2010, 23:45  [ТС]     Операция mod()
m^e mod n
а если разбить число m на блоки? или как в алгоритме быстрого возведения сразу брать по модулю(вычислять остаток )?
_______________________________________________________________________________________
В алгоритме RSA очень много возведений в степень по модулю натурального числа. Конечно же, не нужно производить триллиарды умножений, а затем брать остаток от деления числа из миллиардов цифр. Остаток от деления берется после каждого умножения. Таким образом, при перемножении двух чисел, состоящих из k бит потребуется 2 * k-битное число, которое затем делится на модуль и получается остаток, опять же состоящий из k бит (если модульное число состоит из k бит).

Сложность этого алгоритма может быть оценена как O(ln m), где m - модуль, по которому производится умножение. Запись O(ln m) означает, что для реализации алгоритма потребуется порядка ln m операций. Например, если число имеет разрядность 1024 бит (при этом длина m не менее 1024 бит), то умножение по модулю необходимо будет провести порядка ln m = ln 21024 = 710 раз, что относительно немного.

Алгоритм вычисления ad (mod m):

1. Число d представить в двоичной системе счисления: d = d0 * 2r + ... + dr - 1 * 2 + dr, где di - цифры в двоичном представлении, равные 0 или 1, d0 = 1
2. Положить a0 = a, затем для i = 1, ... , r вычислить ai = (ai - 1) 2 * adi (mod m)
3. ar есть искомое число ad (mod m)
________________________________________________________________________________________
Это неверно?
 
Текущее время: 16:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru