0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
1 | |
2 в N степени, где N>=100011.10.2022, 21:09. Показов 1531. Ответов 19
Нужно написать программу, которая будет вычислять 2N, где N>1000. Прошу дать направление и как нужно это сделать. Должно выводить целые числа, как в Python.
0
|
11.10.2022, 21:09 | |
Ответы с готовыми решениями:
19
Какой тип данных может вместить 10 в 1000 степени Написать программу, которая делит числа в 5 степени на число в 14 степени и выводит ответ в 5 степени. Найти ошибку Нужно вычислить число а в степени b где b<1000! вычислить 2 в 1000 степени |
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
||||||
12.10.2022, 08:09 | 2 | |||||
Сообщение было отмечено Dazai1947 как решение
Решение
3
|
Вездепух
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
|
||||||
12.10.2022, 10:18 | 3 | |||||
Плавающие форматы IEEE754 будут представлять степени двойки точно. Для
double - до степени 1023. Для расширенного 80-битного формата - до степени 32766.
2
|
0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
12.10.2022, 12:36 [ТС] | 4 |
А можно как-то ускорить код? Потому что допустим 2^10000 вычисляет очень медленно
0
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
12.10.2022, 12:45 | 5 |
0
|
0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
12.10.2022, 12:47 [ТС] | 6 |
0
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
12.10.2022, 12:52 | 7 |
1
|
0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
12.10.2022, 12:58 [ТС] | 8 |
0
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
12.10.2022, 13:51 | 9 |
Не уверен, что это быстрее.
Придется хранить бинарную длинную строку, а потом переводить ее в десятичную систему, выполняя аналогичные операции сложения и умножения в столбик.
0
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
12.10.2022, 14:48 | 10 |
а нафига нам строки хранить?
мы делаем операцию над числом... а потом его в строчном виде выводим быстрее сдвига- ну никак не получится Добавлено через 5 минут это я для наглядности написал, чтобы понятно как единица в числе двигается 0001; 2^1 0010; 2^2 0100;
0
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
12.10.2022, 14:48 | 11 |
Число в разрядную сетку не поместиться.
Можно, конечно, специально для этого случая считать, что N и является представлением числа 2N. Но для результата в десятичной сс все равно придется завести длинную строку и считать в столбик то же самое
0
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
12.10.2022, 16:14 | 12 |
согласен
больше 2^64 не влезет... тогда или библиотеку для больших чисел цеплять... или своё писать... зы. а чего С++ до сих пор такой не обзавелся ?
0
|
3697 / 2647 / 761
Регистрация: 29.06.2020
Сообщений: 9,800
|
|
12.10.2022, 16:47 | 13 |
Зачем ? Просто что бы было ?
Что бы еще больше дистрибутив раздувать ? fixed point numbers никак не дождемся ... а вы тут про всякие глупости ...
0
|
101 / 95 / 10
Регистрация: 31.08.2022
Сообщений: 1,014
|
|
12.10.2022, 18:00 | 14 |
да 100-200 метров никто и не заметит...
а вообще.... судя по размерам дистров... похоже что они каждый раз обёртки на обёртки делают.... эх... помню первый Мак ремонтировал..... вот народ писал... с дискеты окошки грузились... аля вынь3.1( наверное мелкомягкии с них слизали).... а надо чтобы дети развлекались.... понятно, что по жизни такие числа нах никому не нужны
0
|
Вездепух
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
|
||||||
12.10.2022, 18:05 | 15 | |||||
Пробуем
Вычисляется мгновенно.
1
|
Модератор
13701 / 10904 / 6472
Регистрация: 18.12.2011
Сообщений: 29,110
|
|
12.10.2022, 18:39 | 16 |
TheCalligrapher, А в VS2008 ответ: единица.....
0
|
Вездепух
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
|
|
12.10.2022, 19:03 | 17 |
Сообщение было отмечено ФедосеевПавел как решение
Решение
Безобразие
А у меня в VS2017 получается inf , а не единица. Тоже, в принципе, неплохо.
0
|
0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
12.10.2022, 19:51 [ТС] | 18 |
В VS2022 тоже самое. Спасибо
Добавлено через 2 минуты А что 2.L значит в pow()?
0
|
Вездепух
12783 / 6662 / 1793
Регистрация: 18.10.2014
Сообщений: 16,849
|
|
12.10.2022, 19:59 | 19 |
Это не имеет никакого отношения к
pow , как таковому.2.L в С++ - это 2. с суффиксом L . Суффикс L для плавающего литерала означает тип long double .
1
|
0 / 0 / 0
Регистрация: 20.01.2022
Сообщений: 20
|
|
12.10.2022, 20:01 [ТС] | 20 |
0
|
12.10.2022, 20:01 | |
12.10.2022, 20:01 | |
Помогаю со студенческими работами здесь
20
Вывести все степени числа 3, не превышающие 1000 Вычисление хеш-функции (коэффициенты степени 1000+) и коллизии задача, обратная нахождению степени числа, то есть по числу и основанию степени определить показатель степени Вывести на экран таблицу значений функции f(x)=x в 4 степени+3х в 3 степени +5х во второй степени+7 х=1,2..10 Дано целое число N (> 0). Найти сумму 1в N степени + 2 в степени N−1 + … + Nв 1 степени. Где найти проект на 1000 классов? Доказать, что 7 в степени n умножить на 2 в степени 3k минус 2 в степени 2k кратное 47 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |