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

Возведение в степень по модулю. Большие числа - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Эмуляция http://www.cyberforum.ru/cpp-beginners/thread847309.html
Написать функцию которая имеет на входе два числа с плавающей точкой типа float, но представленные как long int unsigned и выдает результат типа float сумма или разность третий операнд. Здравствуйте ребята! Помоги пожалуста с задачей вот написал чтото не работает! #include <iostream> float schet (unsigned long x,unsigned long y, char z ) { long unsigned int...
C++ Шаблоны функции Делаю задание по программированию, нужна явная специализация шаблона. Пишет ошибку: obj\Debug\main.o||In function `main':| C:\Users\sklad\Documents\CODEBLOCK\work8.6\main.cpp|16|undefined reference to `int maxn<int>(int*, int)'| C:\Users\sklad\Documents\CODEBLOCK\work8.6\main.cpp|17|undefined reference to `double maxn<double>(double*, int)'|... http://www.cyberforum.ru/cpp-beginners/thread847289.html
const в конце объявления метода делает только *this константным? C++
То есть const в методе int foo(int x, int y) const; говорит, что внутри метода не будут переопределяться поля класса, а точнее const говорит, что *this будет константным? И на этом все?
C++ Дан массив размера N. Обнулить элементы массива, расположенные между его минимальным и максимальным элементами
помогите! ! ! работу нужно сделать в С++
C++ Поиск по базе в файле http://www.cyberforum.ru/cpp-beginners/thread847250.html
вот тут решил сделать базу данных в консоли смутил поиск ну не как он не хочет искать то что нужно помогите разобраться с этим поиском вот весь код базы может кому пригодиться... #include <stdio.h> #include <conio.h> #include <string.h> #include <iostream> #include <stdlib.h> #include <clocale> #include <windows.h> #include <fstream> using namespace std;
C++ Проблемы с терминологией. Что такое : ключевые слова, спецификаторы, квалификаторы? Чаще всего встречаю только список ключевых слов, которые потом могут называться по другому, то есть в списке они ключевые слова почти все, но потом разные авторы называют их по разному, к примеру одно и тоже ключевое слово могут называть и спецификатором и квалификатором и служебным словом и т.п. Можно ли где-то прочитать об подобной терминологии в C++, а то не получилось найти? Желательно чтобы... подробнее

Показать сообщение отдельно
Leytak
0 / 0 / 0
Регистрация: 10.02.2013
Сообщений: 10
24.04.2013, 16:12     Возведение в степень по модулю. Большие числа
Всем привет.
У меня есть пару способов возведения в степень по модулю, но с большими числами не работает.
Требуется вычислить A^X mod P.
Нужно для реализации шифра RSA.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
unsigned long powmod(unsigned long a, unsigned long x, unsigned long p)
{
  unsigned long result = 1;
 
  while(x)
  {
      if (x%2==0)
      {
          x /= 2;
          a *= a % p;
      }
      else
      {
          x--;
          result *= a % p;
      }
  }
 
  return result % p;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
unsigned long powmod(unsigned long a, unsigned long x, unsigned long p)
{
   unsigned long result = 1;
   char x_bin[100];
   int t = int(log(x)/log(2.0));
   itoa(x, x_bin, 2);
   for(int i=t;i>=0;i--)
   {
      if(x_bin[i] == '1')
                 result *= a % p;
      a *= a % p;
   }
   result %= p;
   return result;
}
C++
1
2
3
4
5
6
7
8
unsigned long powmod(unsigned long a, unsigned long x, unsigned long p)
{
    if (x == 0) return 1;
    unsigned long res = powmod(a, x >> 1, p);
    res *= res;
    res %= p;
    return (x & 1)? (a * res) % p : res;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru