Пи, помогите с Php (массовые циклы) - PullRequest
0 голосов
/ 16 июня 2010

Мой основной вопрос: это много петель?

while ($decimals < 50000 and $remainder != "0") {
$number = floor($remainder/$currentdivider); //Always round down! 10/3 =3, 10/7 = 1
$remainder = $remainder%$currentdivider; // 10%3 =1, 10%1
$thisnumber = $thisnumber . $number;
$remainder = $remainder . 0; //10
$decimals += 1;
}

Или я мог бы вписаться в него больше?- без сбоев / отставаний сервера.

Мне просто интересно, а есть ли более эффективный способ сделать это?(например, выяснить, что от 1/3 = 0,3 до 50 000 десятичных знаков.)

Наконец:

Я делаю это для формул числа Пи (1 - 1/3 + 1/5 -1/7 и т. Д.) Один,

И мне интересно, есть ли лучший.(В php) Я нашел один, который находит пи до 2000 за 4 секунды.

Но это не то, что я хочу.Я хочу бесконечный ряд, который сходится ближе к Pi

, чтобы при каждом обновлении пользователи могли видеть его все ближе и ближе ...

Но обв.Конвергенция с использованием приведенных выше формул занимает ДЛИННОЕ время.

Существуют ли какие-либо другие "петли", подобные формулам Пи (работающие в php), которые сходятся быстрее?

Большое спасибо ...

Ответы [ 2 ]

2 голосов
/ 16 июня 2010

Здесь у вас есть несколько формул для вычисления Пи:

http://mathworld.wolfram.com/PiFormulas.html

Все они «работоспособны» в PHP, как и в любом другом языке программирования. Другой вопрос в том, насколько они быстры или насколько сложно их реализовать.

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

В любом случае, поскольку цифры Pi известны до определенной цифры, почему бы вам не скопировать их в файл, а затем просто проиндексировать? Это будет очень быстро:)

Вы можете проверить предыдущие ответы на похожие вопросы: Как можно вычислить число пи до заданного числа цифр в PHP? https://stackoverflow.com/questions/3045020/which-is-the-best-formulae-to-find-pi

1 голос
/ 16 июня 2010

Чек http://mathworld.wolfram.com/PiIterations.html (взято из последнего ответа). Эти формулы используют итерации и поэтому могут быть реализованы с использованием цикла. Вы должны использовать Google и искать «php реализация xxxxxxx» (где xxxxxx обозначает имя алгоритма, который вы хотите найти).

EDIT : Вот реализация формулы Vietas с использованием цикла while в php.

...