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

Большие числа. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ не получается! http://www.cyberforum.ru/cpp-beginners/thread208853.html
никак не могу правильно сосотавить решение задачи: ввести с клавиатры вещественное число Х .Вычислить y=lg(x2+3)/arccos0.1x
C++ тип переменной Подскажите пожалуйста, можно ли в С++ задать тип переменной, ограничивающий значение дробного числа, по своему усмотрению (например 17 знаков после запятой) ?:) http://www.cyberforum.ru/cpp-beginners/thread208848.html
транспонирования C++
Составить подпрограмму – функцию для транспонирования квадратной матрицы A(n*n) и использовать ее для транспонирования матриц С(2*2) и D(5*5). Операция транспонирования заключается в замене i – тых строк матрицы i – ми столбцами этой же матрицы (i=1, ….., n)
Последняя лаба для допуска к Экзамену C++
Реалізувати структуру, що містить інформацію: факультет, група, кількість студентів, кількість студентів в групі, що отримають стипендію, середній бал успішності по групі, прізвище старости. Виконати операції: - додавання елементу; - видалення елементу; - пошук елементів по введеному параметру (факультет, група); - виведення всього списку груп; - підрахунок загальної кількості студентів...
C++ Чтение массива из файла http://www.cyberforum.ru/cpp-beginners/thread208840.html
Здравствуйте, господа. Заранее извиняюсь за то, что задаю, скорее всего, не самый умный вопрос на этом форуме и за то, что такая тема уже, возможно, тут когда-либо присутствовала, однако стоит отметить, что поиском я пользоваться всё же пытался. Если у вас есть время прочитать о том, что у меня не получается сделать, буду очень признателен. Мне необходимо сделать две функции - записи...
C++ STL Доброго времени суток! Возникли трудности с пониманием задачи и принципа работы программы. Задание следующее: "Разработать программу - библиотеку (книга-расположение в библиотеке). Нужно воспользоваться одним или несколькими шаблонами, определенными в STL." Правильно ли я считаю, что здесь нужны 2 файла: 1-й - с названиями книг, 2-й - с двумя координатами расположения книги? Подскажите,... подробнее

Показать сообщение отдельно
mezir
0 / 0 / 0
Регистрация: 12.12.2010
Сообщений: 3
12.12.2010, 02:19     Большие числа.
Здравствуйте. Помогите найти оптимальный алгоритм решения задачи.

Известно, что число 123^137 при делении на m = 1395667104275780136328137029621666356023102373828208614259008333518048661758896451829091736021396841, дает в остатке 948246464846080658559020072780751602760246005936374576753853072533734283521476558512528028591507652.
Написать программу, которая находит целое число x такое, что x^137 при делении на то же m, дает в остатке 853850955301866163689247242586471298622619472656175640289466689838635348038838411985760314991260370. Программа должна работать не более 2 минут на ПЭВМ.


Я использую библиотеку Arageli (http://www.arageli.org/) для работы с большими числами.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <arageli.hpp>
#include <iostream>
using namespace std;
using namespace Arageli;
int main()
{
    big_int m="1395667104275780136328137029621666356023102373828208614259008333518048661758896451829091736021396841";
    big_int r="948246464846080658559020072780751602760246005936374576753853072533734283521476558512528028591507652";
    big_int x;
    while (1)
    {
        x++;cout<<x<<endl;
if (power(x,137)%m==r)
{
    cout<<"Result:"<<x<<endl;
break;
}
    }
    getchar();
    return 0;
}
Программа быстро находит число 123.
Если ввести остаток от деления x^137 на m, и оставить работать программу на ночь, она успеет перебрать примерно 65 миллионов, но нужного x так и не найдет.
То есть нужен другой алгоритм, работающий менее 2х минут.

Подскажите если можете
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru