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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Mars74
1 / 1 / 0
Регистрация: 25.03.2013
Сообщений: 31
#1

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

11.03.2014, 22:16. Просмотров 477. Ответов 0
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <vcl.h>
#pragma hdrstop
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
//---------------------------------------------------------------------------
#pragma argsused
int main()
{  int a,p;
 
  cout << "chislo dla testa: "; cin >> p ;
   a = rand() % (p-1);
  cout << "chislo a = " << a << endl ;
 //k= a ^((p-1) div 2) mod p;  - вычисляем по поэтапно
  double k0;
  k0=(p-1)/2;      // показатель степени
  int k01;
  k01 = (int) k0;       //  целая часть показателя степени (p-1) div 2
  cout<<"k01 = "<< k01 <<endl;
 
  int k1;
  k1=pow(a,k01);     //    возводим в степень a ^((p-1) div 2)
   cout<<"k1 = "<< k1 <<endl;
   int  k;
  k= fmod(k1,p);  // отделяем дробную часть
  cout<<"!!!!! k = "<< k <<endl;
    getch(); getch();
    return 0;
}
Нужно вычислить k= (a ^((p-1) div 2)) mod p; для больших чисел
например для числа 3991139 функция pow в выражении k1=pow(a,k01) выдает ошибку переполнение типа.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 22:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Возведение в степень по модулю для большого числа (C++):

Возведение большого числа в большую степень - C++
Появился вопрос. Реализовую алгоритм Диффи — Хеллмана и не могу возвести 300-значное число в 100-значную степень). Делать циклом - вообще...

Возведение в степень по модулю. Большие числа - C++
Всем привет. У меня есть пару способов возведения в степень по модулю, но с большими числами не работает.:( Требуется вычислить A^X mod...

Возведение в степень по модулю для чисел близких к max long long - C++
Даны числа A,B,C&lt;=2^63-1 Надо посчитать A^B mod С. прошу не выкладывать стандартный алгоритм для Int, так как неверный ответ в итоге...

Возведение числа в степень - C++
Помогите написать программу, возводящщую число M в степень N (-10&lt;M&lt;10, 0&lt;N&lt;10 - проверить выполнение данных условий)

Возведение числа а в степень n - C++
Возведение числа а в степень n ,задача не проста чем , 1&lt;=а&lt;=10 | 1&lt;=n&lt;=7000 Степень может быть 7000 , и тут у меня возникли трудности ,...

Возведение числа n в степень m. - C++
Написать программу - возведение числа n в m-ю степень. Входные данные поступают с клавиатуры. Результат выводится на экран.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2014, 22:16
Привет! Вот еще темы с ответами:

Возведение числа в степень n-1 - C++
Есть формула {(-1)}^{n-1}*{3}^{n-1} , n увеличивается циклом на 1. Как записать числа в степень n-1 без пользов. и стандартных функций??...

Возведение из числа степень - C++
Прошу помочь. Вводим любое число n и надо возвести её степень. (притом, должно быть или 2 в степени x, или 3) Например: n=81 &gt;&gt; 3 в...

Рекурсия, возведение числа в степень - C++
подскажите плис как возвести число в степень через перемножение чисел. с помощью рекурсии. число и степень вводятся в ручную думаю...

Возведение числа в отрицательную степень - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { setlocale(LC_ALL, &quot;Rus&quot;); double a, b , pow(1),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru