Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Алгоритмы > Большие числа


Автор: gluck 3.4.2007, 11:46
Как я в паскале могу работать с большими числами, я бы даже сказал с огромными. Есть какие-нибудь алгоритмы? Или нужно использовать динамическую память. Посоветуйте пожалуйста. Может у кого линк есть где почитать можно. Заранее спасибо

Автор: Akina 3.4.2007, 12:37
Самое простое - найти и подключить в проект библиотеку работы со сверхдлинными числами.

А алгоритмы - хранение их как строк, массивов, коллекций или объектов, ручная организация математических операций...

Автор: Sartorius 3.4.2007, 12:56
 Уже столько раз обсуждалось  smile ... Посмотри внизу страницы.

Автор: gluck 3.4.2007, 14:58
а если указатели использовать?

Автор: Alexandr87 3.4.2007, 15:07
ага, и самому реализовывать нужные математические опреации. smile 

Автор: Akina 3.4.2007, 15:08
да хоть ссылки... какое это имеет отношение к исходному вопросу?

или это "передача условия контрольной работы без понимания смысла"?

Автор: Artemios 6.4.2007, 00:55
На сегодняшний день Gmp (http://gmplib.org/index.html) -- самая лучшая/быстрая библиотека для длинной арифметики (числа произвольной длины, лишь бы ОП хватало).
Писана на C и ассемблере, есть классы для C++.
Привязки этой библиотеки к Паскалю тоже где-то видел, на вскидку в http://www.gnu-pascal.de/gpc/h-index.html-е есть модуль GMP.

Автор: Artemios 6.4.2007, 01:24
Если же реализовывать "в ручную", то хранение данных -- в массивах либо списках;
сложение/вычитание -- аналогично тому, как мы делаем "в столбик" на бумаге;
умножение/деление можно организовать конечно тоже по аналогии бумажного "столбика" и "уголка", но эффективней посмотреть в сторону алгоритмов Карацубы например, дискретного преобразования Фурье или модулярной арифметики...

Из литературы по алгоритмам и представлению данных для длинной арифметики рекомендую:
Акритас А. "Основы компьютерной алгебры с приложениями",
Бухбергер Б. "Компьютерная алгебра: Символьные и алгебраические вычисления"
или любую другую со сходной тематикой.

Автор: Snowy 6.4.2007, 01:32
В FAQ пример для дельфи: http://forum.vingrad.ru/base/Ogromnyie-chisla-2719.html

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)