Я пытаюсь вычислить число пи с произвольной точностью на Python, используя одну из формул Рамануджана: ://en.wikipedia.org/wiki/Approximations_of_%CF%80#20th_centre. В основном это требует большого количества факториалов и высокоточного деления чисел с плавающей запятой.
Вот мой код: http://pastie.org/private/pa6ijmoowiwiw4xwiqmq
Я получаю ошибку где-то около пятнадцатой цифры числа пи (3.1415926535897930, а должно быть 3.1415926535897932). Можете дать совет, почему так происходит? Я использую десятичный тип, и в документах говорится, что он допускает плавающие и целые числа произвольной точности.
PS: Это домашнее задание, поэтому я не могу использовать другую формулу. PSS: я использую Python 2.7
Спасибо:)
Decimal(sqrt(2))
— это просто сложный способ выполненияsqrt(2)
безDecimal
? Попробуйте сDecimal(2).sqrt()
- person Bakuriu   schedule 03.06.2013