Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пи, Алгоритмы вычисления 
:(
    Опции темы
__vi
  Дата 23.1.2004, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Извините может быть за глупый вопрос, но мне интересны алгоритмы вычесления пи.
Вот есть такой который позволяет вычислять пи с любой точностью?
PM MAIL   Вверх
MuToGeN
Дата 23.1.2004, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


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

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



Хм... Да, тоже интересно


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
shedon
Дата 23.1.2004, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

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



http://mathc.chat.ru/hist/pihist.htm

Это сообщение отредактировал(а) shedon - 23.1.2004, 12:13


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
__vi
Дата 23.1.2004, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо!
PM MAIL   Вверх
PROme
Дата 23.1.2004, 14:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Очень-очень-очень советую разыскать №3 за Март 2002 журнал Hard'n'Soft (UA)

Там на 88-й странице начинается отличная статья "Пиратская тропинка к Пи"... в ней описыватся не только алгоритм поиска, но и возможности (что с помощью данного эдиного числа при достаточных вычислительных можностях можно закодировать (заархивировать) любую информацию любого размера)... вобще советую всем кто интересуются всяким таким программно-математическим почитать выпуски тех времен - было очень много отличнейших статей...

А вобще, в двух словах, насколько помню, ищется вписыванием многоугольника в круг - чем больше сторон у многоугольника - тем точнее получим значение Пи


--------------------
SEO-мастер
PM MAIL WWW   Вверх
MuToGeN
Дата 23.1.2004, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


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

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



PROme
Это дело через пределы прогнать случайно нельзя? Изи я чего-то непонимаю...


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
shedon
Дата 23.1.2004, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

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



Цитата
Очень-очень-очень советую разыскать №3 за Март 2002 журнал Hard'n'Soft (UA)

http://arbuz.ferghana.ru/z_pi.html


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Chingachguk
Дата 23.1.2004, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата

Это дело через пределы прогнать случайно нельзя? Изи я чего-то непонимаю...


Ну вот число e можно записать: limit (N->беск) (1+(1/N))^N.

А теперь запиши через предел отношение длины окружности (сумму сторон вписанного или описанного N-угольника) к радиусу.



--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
asmworm
Дата 24.1.2004, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Вот что-то откопал:

=====================================
THE TEN BILLIONTH HEXADECIMAL DIGIT of Pi is 9

By: Simon Plouffe, Peter Borwein and David Bailey.

The following is part of a paper titled "On The Rapid Computation of
Various Polylogarithmic Constants". The full text, as well as
Fortran code, is available in

http://www.cecm.sfu.ca/~pborwein/

as P123 under the link "Computing Pi and Related Matters".

ABSTRACT:

We give algorithms for the computation of the d-th digit of certain
transcendental numbers in various bases. These algorithms can be
easily implemented (multiple precision arithmetic is not needed),
require virtually no memory, and feature run times that scale nearly
linearly with the order of the digit desired. They make it feasible to
compute, for example, the billionth binary digit of log(2) or pi on a
modest work station in a few days run time.

Indeed we computed the 10 billionth hexadeximal digit of pi as well as
the billionth hexadecimal digits of pi^2, log(2) and log^2(2), the
billionth decimal digit of log (9/10) and the five billionth decimal
digit of log(1 - 10^{-96}).


These calculations rest on three observations. First, the d-th digit
of 1/n is "easy" to compute. Secondly, this scheme extends to
certain polylogarithm and arctangent series. Thirdly, very special
types of identities exist for certain numbers like pi, pi^2, log(2) and
log^2(2). These are essentially polylogarithmic ladders in an integer
base. A number of these identities that we derive in this work appear
to be new, for example the critical identity for the binary digits of
pi is:

Код

       infinity
        -----
        \         -n    /     4          2          1          1     \
pi =    )      16      |  ------- - -------  - ------- - -------   |
        /               \  8 n + 1   8  n + 4   8 n  + 5   8 n +  6 /
        -----
        n = 0

===cut===

Теперь может кто-то кинет реализацию вышесказанного? Я что-то в матеиатике не очень.

Это сообщение отредактировал(а) asmworm - 24.1.2004, 14:33
PM MAIL   Вверх
acp
Дата 24.1.2004, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 389
Регистрация: 4.2.2003
Где: Владимир

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



А что тут сложного в реализации?
Обычный ряд. Вычисляется в цикле.
PM WWW ICQ   Вверх
asmworm
  Дата 24.1.2004, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата(acp @ 24.1.2004, 19:03)
А что тут сложного в реализации?
Обычный ряд. Вычисляется в цикле.

Хотел бы я узнать как ты вычислишь 10000000000000000000000000000000 знак confused.gif . Думаю тебе нужно что-то помощнее чем long double или extended biggrin.gif
PM MAIL   Вверх
shedon
Дата 24.1.2004, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

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



Цитата
Хотел бы я узнать как ты вычислишь 10000000000000000000000000000000 знак  . Думаю тебе нужно что-то помощнее чем long double или extended 

Создай динамический массив и делай знак до каторого у тебя хватит памяти smile.gif


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
Chingachguk
Дата 24.1.2004, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



По поводу приведеннной asmworm заметки. Я не очень хорошо знаю язык (позже со словарем посмотрю), но я не уверен, что эта формула описывает ПИ в смысле его "определения" или же результатом аналитических выкладок и скорее является чем-то вроде результата приближения ~"полиномами" вычисленных результатов или их части.


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
__vi
Дата 25.1.2004, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Я вот дома нашел сорс какой-то ужасно написанной проги (видно писал математик), но пи вычисляет, алгоритм понять не возможно, после некоторых модификаций смог заставить её вычеслять очень далеко (100 000 знаков после запятой за... 90 минут (у меня машина в 970bogomips)) очень медлено. Протестирую все вышепредложенные алгоритмы и скажу какой быстрее.

(Я так же хотел 10^6 после запятой но за 4 часа не было результата так я выключил)
Кстати если кто-нибудь может проверить достоверность вычисленний пишите мне личное сообщение, я пришлю.

Это сообщение отредактировал(а) __vi - 25.1.2004, 14:34
PM MAIL   Вверх
asmworm
  Дата 25.1.2004, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



__vi
В принципе можно с помощью Mathematica 5 проверить, если у тебя её нет то пришли мне на мыло результат или лучше всего его CRC32(только скажи в какой системе счисления) или что-то в этом роде(чтоб не слать много кб)

Это сообщение отредактировал(а) asmworm - 25.1.2004, 18:23
PM MAIL   Вверх
maxim1000
Дата 25.1.2004, 22:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
скорее является чем-то вроде результата приближения ~"полиномами" вычисленных результатов или их части.

если посчитать этот ряд аналитически, получится рациональная функция от sqrt(2), а так число ПИ точно выразить нельзя
возможно, этот ряд действительно приближает число ПИ (по крайней мере первое слагаемое дает 3.2711111111...)
но зато для вычисления любой цифры этого ряда описанным методом нужно количество операций порядка d*log(d)
и памяти почти не нужно
Цитата
Я вот дома нашел сорс какой-то ужасно написанной проги (видно писал математик), но пи вычисляет, алгоритм понять не возможно, после некоторых модификаций смог заставить её вычеслять очень далеко (100 000 знаков после запятой за... 90 минут (у меня машина в 970bogomips)) очень медлено. Протестирую все вышепредложенные алгоритмы и скажу какой быстрее.

а он большой? если не очень, может, его сюда выложишь?



--------------------
qqq
PM WWW   Вверх
maxim1000
Дата 25.1.2004, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата
порядка d*log(d)

упс... ошибочка вышла...
алгоритм в таком виде, в котором я его понял требует d*d операций


--------------------
qqq
PM WWW   Вверх
__vi
Дата 26.1.2004, 11:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Да я уже проверил... с какова-то знака идёт ошибка аж до конца.
PM MAIL   Вверх
__vi
Дата 27.1.2004, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Сорс я завтра вылажу а то он у меня дома, а в интерете я нашел ещё две программы, но они крупные. Поищи pi_c50.c и pi_c50f.c.
Дома попробовал разные подходы всё фигня по сравнению с формулой Chudnovskys. Как это на русский перевести?
Да ну и как формулу реализовать алгоритмически я пока не понял.
Как найду ссылку на формулу - поставлю.
PM MAIL   Вверх
MuToGeN
Дата 27.1.2004, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


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

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



> аж до конца

какого конца?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
__vi
Дата 27.1.2004, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вот:
http://numbers.computation.free.fr/Constan...ram/pifast.html
что-то такое и я хочу написать.
PM MAIL   Вверх
__vi
Дата 27.1.2004, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(MuToGeN @ 27.1.2004, 11:26)
> аж до конца

какого конца?

biggrin.gif Ну в контексте я сказал что считал до 100 000. Это и имел в виду под концом. biggrin.gif

PM MAIL   Вверх
__vi
Дата 27.1.2004, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



И если кто будет заниматься этим делом то http://www.swox.com/gmp/
PM MAIL   Вверх
__vi
Дата 27.1.2004, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



PiFast уже 4 часа не может 10^6 знаков вычислить. И это на 2GHz.
PM MAIL   Вверх
shedon
Дата 27.1.2004, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1209
Регистрация: 17.1.2003
Где: Нижнiй Новгородъ

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



Этот пифаст сожрал у меня всю память, а за это Windows ему сказал, что память не может быть read и выкинул его нафиг.

Это сообщение отредактировал(а) shedon - 27.1.2004, 15:30


--------------------
Programming is like sex: One mistake and you have to support it your lifetime
PM MAIL WWW ICQ   Вверх
__vi
Дата 27.1.2004, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А у меня не сожрал, потому что я запустил на компе девушки тут одной, она вроде работает smile.gif.
PM MAIL   Вверх
B0POH
  Дата 6.4.2004, 22:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(asmworm @ 24.1.2004, 21:33)
Хотел бы я узнать как ты вычислишь 10000000000000000000000000000000 знак ??? . Думаю тебе нужно что-то помощнее чем long double или extended biggrin.gif

А зачем тебе такой знак?
Во всех расчётах обычно оставляют первые 4 знака после запятой остальное ненадо.
Можно так сделать.
Берём любую тригонометрическую функцию например cos(х), sin(х), tg(х), и т.д.
Раскладываем её в ряд
Sin(x)=x-x³/3! +x³*x²/5!-x³*x²*x²/7!+…
или
Arctg(x)=x-x³/3+x³*x²/5-x³*x²*x²/7+…
Затем в случае арктангенса записываем x=tg(pi/4)=1
Получаем
Pi/4=1-1/3+1/5-1/7+…
Отсюда выражаем pi. notify.gif
Чем больше слагаемых сложим, тем точнее найдём pi.
А ещё можно через цепные дроби сделать тока это слишком хлопотно.

hehe.gif
PM MAIL   Вверх
Vit
Дата 6.4.2004, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Vitaly Nevzorov
****


Профиль
Группа: Экс. модератор
Сообщений: 10964
Регистрация: 25.3.2002
Где: Chicago

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



Если кому-то надо, вот Pi до миллиона знаков и e до 5ти миллионов знаков


http://chicago.lastplanet.com/soft/Pi-1000000.zip
http://chicago.lastplanet.com/soft/e-5000000.zip

PS. может их в наш файловый архив поместить?



--------------------
With the best wishes, Vit
I have done so much with so little for so long that I am now qualified to do anything with nothing
Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru
PM MAIL WWW ICQ   Вверх
Elfet
Дата 29.12.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

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



Забавно: 392699/125000 = 3.14159  smile 


--------------------
PM MAIL WWW Skype   Вверх
SoWa
Дата 29.12.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

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



Внизу странички тема "Вычисление числа Пи на калькуляторе"
Как его вычислить, мы вроде не нашли, но кучу интересного понаписали.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

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


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

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


 




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


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

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