![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
Делать было нечего и я вспомнил задачку со школьной олимпиады =)
Суть заключалась в том, что бы возвести число 2 в некоторую степень n (n>62). Тогда я был не в состоянии написать это, но сейчас осилил за 20 минут). Дело в том, что integer может взять только 2^31, а longint 2^62. Если что-нибудь придумали - выкладывайте - потом сравним. P.s. калькулятор семёрки берёт 2^30000, но не в состоянии осилить 2^35000 ![]() |
![]() |
![]() |
![]() |
#2 |
Программист
Форумчанин
Регистрация: 23.07.2009
Сообщений: 101
|
![]()
о )) стандартная задача на большие числа :-)
Если вы верите, что можете или не можете
сделать что-то, вы правы в обоих случаях. ______________________________(С) Г.Форд |
![]() |
![]() |
![]() |
#3 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
строковая алгебра.
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#4 | |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]() Цитата:
Если без длинной ар-ки, то так: Код:
Код:
Последний раз редактировалось BaronTreep; 08.08.2009 в 03:55. |
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 320
|
![]()
В остальном - только длинная арифметика.
Хотя, в принципе, ничего считать не надо - 2^n в двоичной системе счисления это 1 и n-штук 0. Просто берем память и раставляем в ней биты, другое дело - чтобы дальше с этой памятью работать нужна длинная арифметика. Последний раз редактировалось BaronTreep; 08.08.2009 в 04:15. |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
![]()
У меня прога считаем 2^40000 =)
А если переводитьв всё это в двоичную систему, то памяти уж точно не хватит... |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]() |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Somebody, ну на двоичное число памяти полюбому хватит. А вот для того, чтобы это длинное двоичное число перевести в десятичную систему - вот тут уж без длинной арифметики не обойтись...
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 08.01.2008
Сообщений: 233
|
![]() Код:
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
![]() 2^10 = 1024 ... Ваша функция выдаст такой результат?! |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
помогите, может кому интересно будет | Gab | Свободное общение | 6 | 04.09.2012 15:09 |
Интересно (Builder) | alun | Общие вопросы C/C++ | 0 | 16.01.2009 12:56 |