Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Nawriz
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 68
1

Длинная арифметика при возведении в степень

02.09.2015, 19:18. Просмотров 788. Ответов 12
Метки нет (Все метки)

Ребята как можно вводить тип с 10^1000000 емкостью?
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2015, 19:18
Ответы с готовыми решениями:

Возведение в степень (длинная арифметика)
почему если я возвожу 2^32 степень то выходит 0? и как исправить while(p) что значить это? до...

Длинная арифметика. Возведение 2 в степень
Здравствуйте, подскажите в чем ошибка. Выдаёт Compile error #include <fstream> using namespace...

Длинная арифметика. Возведение в степень
Нужно написать программу считывающая с файла два числа.Первое число которое нужно возвести в...

Длинная арифметика. Возведение в степень
функция mul умножает нормально любые числа, а pow возводит в степень только маленькие 34^18....

Длинная арифметика - возвести число в большую степень
Нужно возвести 3-300, подскажите, пожалуйста, идею, а то не очень понимаю

12
nmcf
6535 / 5758 / 2622
Регистрация: 14.04.2014
Сообщений: 24,498
02.09.2015, 19:34 2
Есть специальные библиотеки для больших чисел. Пользуйся.
0
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
02.09.2015, 19:35 3
Цитата Сообщение от Nawriz Посмотреть сообщение
Ребята как можно вводить тип с 10^1000000 емкостью?
Длинная арифметика.
http://e-maxx.ru/algo/big_integer

Хотя такое число и в long long поместится.
https://msdn.microsoft.com/ru-ru/library/s3f49ktz.aspx
0
Nawriz
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 68
02.09.2015, 19:45  [ТС] 4
nmcf, какой библиотека?
0
02.09.2015, 19:45
nmcf
6535 / 5758 / 2622
Регистрация: 14.04.2014
Сообщений: 24,498
02.09.2015, 20:01 5
Вот эта, например: http://www.shoup.net/ntl/

Добавлено через 56 секунд
Цитата Сообщение от _Valera_ Посмотреть сообщение
Хотя такое число и в long long поместится.
Нет.
1
_Valera_
490 / 372 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
02.09.2015, 20:16 6
Цитата Сообщение от nmcf Посмотреть сообщение
Нет.
конечно нет, задумался)
0
Nawriz
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 68
02.09.2015, 20:24  [ТС] 7
не знаю как пользоваться с ним
0
ItDog
2 / 2 / 1
Регистрация: 03.04.2015
Сообщений: 5
02.09.2015, 20:46 8
В библиотеке boost есть тип cpp_int, туда возможно загнать любое число
0
Nawriz
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 68
13.09.2015, 21:51  [ТС] 9
дано натуральные число а и b нужно найти a^b
1<=a<=60, 1<=b<=60. Если а=60 и b=60 будет на обычных типов не поместится(очень длинный число получается)
0
Ferrari F1
795 / 525 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
13.09.2015, 22:04 10
Цитата Сообщение от Nawriz Посмотреть сообщение
очень длинный число получается
ощинь ощинь длиный щисло палущаитса

Добавлено через 3 минуты
А если по делу, то придется писать класс сверхбольших чисел.
0
Kerry_Jr
Эксперт PHP
2233 / 2024 / 946
Регистрация: 14.05.2014
Сообщений: 5,926
Записей в блоге: 1
Завершенные тесты: 5
13.09.2015, 22:05 11

Не по теме:

Цитата Сообщение от Ferrari F1 Посмотреть сообщение
ощинь ощинь длиный щисло палущаитса
ай-ай-ай, не стыдно тебе? Может человек и разговаривает по-русски плохо, зато -ться и -тся не путает.



Добавлено через 1 минуту
Цитата Сообщение от Nawriz Посмотреть сообщение
на обычных типов не поместится
длинная арифметика нужна
Цитата Сообщение от Ferrari F1 Посмотреть сообщение
придется писать класс сверхбольших чисел
не обязательно
0
Nawriz
0 / 0 / 0
Регистрация: 10.07.2015
Сообщений: 68
14.09.2015, 06:38  [ТС] 12
Kerry_Jr, Как с этим разобраться?
0
Ferrari F1
795 / 525 / 157
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
14.09.2015, 06:50 13
Nawriz,
тебе нужно интерпритировать длинные числа как строки, т.е. нужно работать с массивами типа char (или объектами класса string), которые содержат только цифры.
C++
1
char digits[] = 15451864455454156545165545545647458745;
Ну и разработать функции (или класс) для сложения и умножения таких вот цифровых строк друг на друга.

Добавлено через 3 минуты
Вобщем, реализовать алгоритмы сложения и умножения в столбик.
0
14.09.2015, 06:50
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.09.2015, 06:50

Неправильный результат при возведении числа в степень
#include&lt;stdio.h&gt; #include&lt;math.h&gt; main() { int n,a; scanf(&quot;%d&quot;,&amp;n); a=pow(2,n);...

Найти последнюю цифру при возведении в степень
найти последную цифру A^B. 1&lt;=A&lt;=1000 и 1&lt;=B&lt;=10^9 ввод данных 24 9 ввод данных 4

Ошибка при возведении числа в отрицательную степень
Здравствуйте! Начал учить С++ по книге Лафоре. При выполнении задачи из раздела функции столкнулся...


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

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

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