IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Операции с очень большими числами, Реализация в программе
сообщение
Сообщение #1


Новичок
*

Группа: Ожидающие
Сообщений: 27
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Подскажите пожалуйста каким методом лучше пользоваться при вычислении например 946372635!.
1. Преобразовать число в строку, и со строкой посимвольно работать.
2. Использовать массив из нескольких переменных, типа longint
3. Использовать массив, в каждой ячейке которого будет храниться одна цифра.
Или в Turbo Pascal'е есть возможность создавать переменные, заданным побайтовым размером.
Но не используя встроенный ассемблер.

Это нужно, как вообще возможность, а не для какой-то программы конкретнее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Gendalf @ 1.11.2007 0:06) *
каким методом лучше пользоваться при вычислении например 946372635!.

Боюсь, что разочарую тебя, но методов для вычисления таких чисел не существует.

Сказать, что для одной только записи такого числа не хватит памяти всех существующих на Земле компьютеров - это ничего не сказать. Если изобрести память, которая работает на состояниях отдельных электронов в отдельных атомах, то чтобы набрать нужное количество атомов для нее не хватит атомов всей нашей маленькой Вселенной - я не про Галактику говорю, это вообще капля в море.. И не просто не хватит, а сильно не хватит. Если тебе захотят помочь твои друзья из соседних вселенных (допустим, ты нашел способ с ними связаться) и отдадут их все на производство памяти для твоих нужд - все равно не хватит..

Так что ты уж извини.. Ничем не можем помочь! sad.gif

PS
А вы говорите - глобализм, амбиции, стремление к мировому господству.. Человеку ответ к домашнему заданию записать негде! smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Ожидающие
Сообщений: 27
Пол: Мужской
Реальное имя: Юрий

Репутация: -  0  +


Цитата(Lapp @ 12.12.2007 8:59) *
Сказать, что для одной только записи такого числа не хватит памяти всех существующих на Земле компьютеров - это ничего не сказать.


А если не записывать, а требуется только вывести его на экран? то в принципе и за буфер видеокарты не выйдем
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Gendalf @ 24.12.2007 12:47) *

А если не записывать, а требуется только вывести его на экран? то в принципе и за буфер видеокарты не выйдем

Я должен признать, что я ошибся. sad.gif Записать, конечно, можно. Не знаю, что на меня наехало тогда, что я спутал само число с его записью - очень извиняюсь.
Да, можно записать. Факториал миллиарда будет иметь грубо говоря где-то сто миллионов (очень грубая оценка) цифр в записи, так что даже если по байту на цифру - то все равно нужна всего сотня мегобайт. Другой вопрос - как обращаться с такими большими числами (в ТР это просто немыслимо) и сколько времени уйдет на расчет (не могу сейчас даже оценить), но факт есть факт: записать такое число можно.

Еще раз извиняюсь..

PS
добавление еще одного восклицательного знака (1000000000!!) делает мои рассуждения верными smile.gif


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.04.2024 7:02
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name