Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Большие числа, Как с ними работать? 
:(
    Опции темы
gluck
Дата 3.4.2007, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 26.8.2004

Репутация: нет
Всего: нет



Как я в паскале могу работать с большими числами, я бы даже сказал с огромными. Есть какие-нибудь алгоритмы? Или нужно использовать динамическую память. Посоветуйте пожалуйста. Может у кого линк есть где почитать можно. Заранее спасибо
PM MAIL WWW ICQ   Вверх
Akina
Дата 3.4.2007, 12:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Самое простое - найти и подключить в проект библиотеку работы со сверхдлинными числами.

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Sartorius
Дата 3.4.2007, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: 1
Всего: 37



 Уже столько раз обсуждалось  smile ... Посмотри внизу страницы.
PM MAIL ICQ   Вверх
gluck
Дата 3.4.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 67
Регистрация: 26.8.2004

Репутация: нет
Всего: нет



а если указатели использовать?
PM MAIL WWW ICQ   Вверх
Alexandr87
Дата 3.4.2007, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


дыкий псых
***


Профиль
Группа: Завсегдатай
Сообщений: 1459
Регистрация: 27.11.2004
Где: Алматы, Казахстан

Репутация: 1
Всего: 39



ага, и самому реализовывать нужные математические опреации. smile 
PM Jabber   Вверх
Akina
Дата 3.4.2007, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



да хоть ссылки... какое это имеет отношение к исходному вопросу?

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


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Artemios
Дата 6.4.2007, 00:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 1
Всего: 50



На сегодняшний день Gmp (http://gmplib.org) -- самая лучшая/быстрая библиотека для длинной арифметики (числа произвольной длины, лишь бы ОП хватало).
Писана на C и ассемблере, есть классы для C++.
Привязки этой библиотеки к Паскалю тоже где-то видел, на вскидку в Gnu-Pascal-е есть модуль GMP.

Это сообщение отредактировал(а) Artemios - 6.4.2007, 00:58


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Artemios
Дата 6.4.2007, 01:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 1
Всего: 50



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

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


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Snowy
Дата 6.4.2007, 01:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 2
Всего: 484



В FAQ пример для дельфи: http://forum.vingrad.ru/base/Ogromnyie-chisla-2719.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0771 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.