![]() |
|
![]() ![]() ![]() |
|
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Извините может быть за глупый вопрос, но мне интересны алгоритмы вычесления пи.
Вот есть такой который позволяет вычислять пи с любой точностью? |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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! |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: нет Всего: 11 |
-------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Спасибо!
|
|||
|
||||
PROme |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 346 Регистрация: 23.7.2003 Где: Kiev Репутация: нет Всего: 1 |
Очень-очень-очень советую разыскать №3 за Март 2002 журнал Hard'n'Soft (UA)
Там на 88-й странице начинается отличная статья "Пиратская тропинка к Пи"... в ней описыватся не только алгоритм поиска, но и возможности (что с помощью данного эдиного числа при достаточных вычислительных можностях можно закодировать (заархивировать) любую информацию любого размера)... вобще советую всем кто интересуются всяким таким программно-математическим почитать выпуски тех времен - было очень много отличнейших статей... А вобще, в двух словах, насколько помню, ищется вписыванием многоугольника в круг - чем больше сторон у многоугольника - тем точнее получим значение Пи -------------------- SEO-мастер |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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! |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: нет Всего: 11 |
http://arbuz.ferghana.ru/z_pi.html -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 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. |
|||
|
||||
asmworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 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:
===cut=== Теперь может кто-то кинет реализацию вышесказанного? Я что-то в матеиатике не очень. Это сообщение отредактировал(а) asmworm - 24.1.2004, 14:33 |
|||
|
||||
acp |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 4.2.2003 Где: Владимир Репутация: нет Всего: 2 |
А что тут сложного в реализации?
Обычный ряд. Вычисляется в цикле. |
|||
|
||||
asmworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 20.1.2004 Репутация: 1 Всего: 1 |
Хотел бы я узнать как ты вычислишь 10000000000000000000000000000000 знак ![]() ![]() |
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1209 Регистрация: 17.1.2003 Где: Нижнiй Новгородъ Репутация: нет Всего: 11 |
Создай динамический массив и делай знак до каторого у тебя хватит памяти ![]() -------------------- Programming is like sex: One mistake and you have to support it your lifetime |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 1 Всего: 18 |
По поводу приведеннной asmworm заметки. Я не очень хорошо знаю язык (позже со словарем посмотрю), но я не уверен, что эта формула описывает ПИ в смысле его "определения" или же результатом аналитических выкладок и скорее является чем-то вроде результата приближения ~"полиномами" вычисленных результатов или их части.
-------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Я вот дома нашел сорс какой-то ужасно написанной проги (видно писал математик), но пи вычисляет, алгоритм понять не возможно, после некоторых модификаций смог заставить её вычеслять очень далеко (100 000 знаков после запятой за... 90 минут (у меня машина в 970bogomips)) очень медлено. Протестирую все вышепредложенные алгоритмы и скажу какой быстрее.
(Я так же хотел 10^6 после запятой но за 4 часа не было результата так я выключил) Кстати если кто-нибудь может проверить достоверность вычисленний пишите мне личное сообщение, я пришлю. Это сообщение отредактировал(а) __vi - 25.1.2004, 14:34 |
|||
|
||||
asmworm |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 20.1.2004 Репутация: 1 Всего: 1 |
__vi
В принципе можно с помощью Mathematica 5 проверить, если у тебя её нет то пришли мне на мыло результат или лучше всего его CRC32(только скажи в какой системе счисления) или что-то в этом роде(чтоб не слать много кб) Это сообщение отредактировал(а) asmworm - 25.1.2004, 18:23 |
|||
|
||||
maxim1000 |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
если посчитать этот ряд аналитически, получится рациональная функция от sqrt(2), а так число ПИ точно выразить нельзя возможно, этот ряд действительно приближает число ПИ (по крайней мере первое слагаемое дает 3.2711111111...) но зато для вычисления любой цифры этого ряда описанным методом нужно количество операций порядка d*log(d) и памяти почти не нужно
а он большой? если не очень, может, его сюда выложишь? -------------------- qqq |
||||
|
|||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
упс... ошибочка вышла... алгоритм в таком виде, в котором я его понял требует d*d операций -------------------- qqq |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Да я уже проверил... с какова-то знака идёт ошибка аж до конца.
|
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
Сорс я завтра вылажу а то он у меня дома, а в интерете я нашел ещё две программы, но они крупные. Поищи pi_c50.c и pi_c50f.c.
Дома попробовал разные подходы всё фигня по сравнению с формулой Chudnovskys. Как это на русский перевести? Да ну и как формулу реализовать алгоритмически я пока не понял. Как найду ссылку на формулу - поставлю. |
|||
|
||||
MuToGeN |
|
|||
![]() Лесник ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 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! |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
||||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
![]() ![]() |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
И если кто будет заниматься этим делом то http://www.swox.com/gmp/
|
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
PiFast уже 4 часа не может 10^6 знаков вычислить. И это на 2GHz.
|
|||
|
||||
shedon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 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 |
|||
|
||||
__vi |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 301 Регистрация: 21.1.2004 Репутация: нет Всего: -1 |
А у меня не сожрал, потому что я запустил на компе девушки тут одной, она вроде работает
![]() |
|||
|
||||
B0POH |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 5.4.2004 Репутация: нет Всего: нет |
А зачем тебе такой знак? Во всех расчётах обычно оставляют первые 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. ![]() Чем больше слагаемых сложим, тем точнее найдём pi. А ещё можно через цепные дроби сделать тока это слишком хлопотно. ![]() |
|||
|
||||
Vit |
|
|||
![]() 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 |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Забавно: 392699/125000 = 3.14159
![]() |
|||
|
||||
SoWa |
|
|||
![]() Харекришна ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2422 Регистрация: 18.10.2004 Репутация: 6 Всего: 74 |
Внизу странички тема "Вычисление числа Пи на калькуляторе"
Как его вычислить, мы вроде не нашли, но кучу интересного понаписали. -------------------- Всем добра ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |