![]() |
[php] Алгоритм получения числа Пи
Собственно заинтересовала тема связанная с числом Пи.
Возможно выбрал не самый подходящий язык, а именно php. Собственно возникла проблема с выбором оптимального алгоритма для получения числа Пи, скажем с точночтью до 10^100 знаков после запятой. Может кто сталкивался с такими вычеслениями, буду признателен за любую инфу в этом направлении. |
Цитата:
|
Число пи?) А что это ?)))
А если серьезно 2(Pi)r квадрат |
Цитата:
Тс, дели 22 на 7 |
Цитата:
А ты вижу гуглишь норм. |
Цитата:
Увы. но это не подходит ибо не соответствие уже в 3 знаке, а речь идет о точности 10^100 знаков. Интересует реализация в коде, пусть в общем виде, главное получить результат в виде массива n*m. |
Да, 22\7 -не самая точная рациональная дрбь.
На вики рапсисано много алогритмов получения - http://ru.wikipedia.org/wiki/Pi |
Цитата:
|
<?php
$numb=22/7; sprintf("%.1000000000000f",$numb); ?> |
Парси это =)
http://pi314.narod.ru/pi314.htm - А вообще почитай может интересно будет http://algolist.manual.ru/maths/count_fast/pi.php |
precision в php.ini не забудьте поменять )).
|
Цитата:
Цитата:
|
на пэхе врядли точнее 7-8 символов получится
http://ipicture.ru/uploads/091128/13581/NpeTF2yA0j.png алгоритм взят из вики PHP код:
|
Что, классов для работы с большими числами не существует?
|
bcmath
|
Цитата:
|
кмк, лучше комбинации C + Asm вы вряд ли найдете по скорости работы. PHP для таких расчетов не годится, имхо. Он не для этого создавался.
ЗЫ. Никто не мешает реализовать один и тот же алгоритм с фиксированным числом итераций на разных ЯП и сравнить |
Цитата:
Думаю, что для высоконагруженных математических расчётов больше подходит функциональное программирование. Рекомендую Erlang - он очень хорош для распределённого программирования, и в нём нет ограничений на величину чисел. |
Код:
<?php |
Еще как вариант,длинные числа можно выводить постепенно.Тоесть - считать постепенно.Сначала считаем сотые,затем тысячные,и так до скольки хотите.Я бы делал наверное так,с глубиной вложения гдето на 15-20 знаковых отличий.
|
<?php
echo pi(); ?> result: 3.1415926535898 Пи - константа, и какой смысл изобретать алгоритм для ее обноружения? |
LStr1ke, пи не может быть константой т.к. число вроде как бесконечное.
|
Число "пи" () выражает отношение длины окружности к своему диаметру. (с)
а согласно постулату Архимеда "Отношение любой окружности к ее диаметру меньше чем 3 1/7 и больше 3 10/71". Значит число ограничено. Вопрос лишь в каличестве знаков. |
Как раз этим ТС и собирается заняться - количеством знаков после запятой
|
=\
http://en.wikipedia.org/wiki/Gauss-Legendre_algorithm ТСу в помощь |
И все же,можно сделать так.Теория:
PHP код:
|
Цитата:
это развитие нейросетей, не для того, чтобы высчитать число ПИ, а для того, чтобы найти подходящий алгоритм его вычисления. Кстати спасибо за топик, много интересной информации подчерпнул по ходу исследования вопроса)) |
Цитата:
|
| Время: 12:22 |