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

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

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

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

11.03.2014, 22:16. Просмотров 473. Ответов 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) выдает ошибку переполнение типа.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2014, 22:16     Возведение в степень по модулю для большого числа
Посмотрите здесь:

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

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

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

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

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

Возведение в степень, отрицательные числа - C++
В библиотеке &lt;cmath&gt; есть такая функция pow(A,B) - получаешь результат возведения A в степень B Решил написать свой pow с положительными...

Возведение числа в целую степень - C++
Даны числа а1 , а2 , а3 т.д.... вычислить а1^1+a2^2 и т.д используя подпрограмму возведения числа в степень Где ошибка ??? ...

Рекурсивное возведение в степень числа - C++
Рекурсивная функция,которая принимает 2 параметра:первый-число,второй-степень в которую нужно возвести число.Всё просто.Но до моей тупой...

Возведение отрицательного числа в степень - C++
Написал программу по нахождению суммы ряда с заданной точностью(условия ниже). Возникла проблема с возведением отрицательного числа. ...

Возведение дробного числа в степень - C++
Ребят, помогите, пожалуйста. Я Не могу вынести в функцию правильно кусок кода. Так-то все работает, но задача - использовать функцию для...

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

Возведение в степень вводимого числа - C++
int _tmain() {float t, A; cin&gt;&gt;t&gt;&gt;A; float b=t+A; float a=pow(b,1.0/3.0); cout&lt;&lt;a; getch (); return 0; } Пытаюсь...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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