Я ищу формулу / алгоритм для вычисления PI ~ 3,14 с заданной точностью.
Формула / алгоритм должны иметь только самую простую арифметику, например
, потому что я хочу реализовать эти операции на C ++ и сделать реализацию как можно более простой (использование библиотеки bignum не допускается).
У меня есть обнаружил, что эта формула для вычисления Pi довольно проста:
Pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... = sum( (-1)^(k+1)/(2*k-1) , k=1..inf )
(обратите внимание, что (-1) ^ (k + 1) может быть легко реализовано с помощью указанных выше операторов).
Но проблема этой формулы заключается в невозможности указать количество цифр для расчета. Другими словами, нет прямого способа определить, когда остановить вычисление.
Возможно, решение этой проблемы состоит в том, чтобы вычислить разницу между n-1
-м и n
-м вычисленным членом и рассматривать это как текущую ошибку.
В любом случае, я понимаю. ищу формулу / алгоритм, которые обладают этими свойствами, а также быстрее сходятся к Pi