Вычисление пи без произвольной точности и только основная арифметика

Я хочу вычислить число Пи. Но у меня довольно много ограничений. Переменные могут содержать до 5 знаков после запятой, и у меня есть только следующие операторы:

Addition
Subtraction
Multiplication
Division
Exponents
Square roots
Sin
Cos
Basic Loops, Conditionals, and relational operators.

Алгоритм BBP здесь кажется бесполезным, потому что, хотя он и не требует произвольной точности, я не могу выполнять преобразования между основаниями. Я не знаю никаких других формул, которые могут найти энную цифру числа пи в базе 10. Можно ли вообще вычислить число пи, используя эти ограничения?


pi
person Nico A    schedule 14.03.2016    source источник
comment
Какая точность вам нужна? Или вы хотите вычислить произвольную n-ю десятичную цифру числа пи?   -  person karakfa    schedule 08.05.2016
comment
@karakfa Произвольная энная цифра   -  person Nico A    schedule 08.05.2016


Ответы (1)


BBP можно изменить, чтобы получить π в базе 10. На Github есть реализация Java. (Я полагаю, что снимок экрана с описанием алгоритма взят из Pi - Unleashed Арндта/Хенеля.)

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

person Phillip    schedule 08.05.2016