Я хочу вычислить пи с помощью алгоритма Чудновского, и я хочу, чтобы он был точным, поэтому
Я пытался использовать десятичный модуль, но я не мог понять, как я могу его использовать.Код:
import decimal as dc
import math
dc.getcontext().prec = 54
sum1 = 0
for k in range(0, 100):
a = (-1)**k*(math.factorial(6*k))*(13591409+545140134*k)
b = (math.factorial(3*k))*(math.factorial(k))**(3)*(640320**(3*k))
sum1 += a/b
sum1 = sum1/(426880*dc.Decimal("10005")**(1/2))
sum1= sum1**(-1)
print(sum1)
, но он дает
Exception "unhandled TypeError"
unsupported operand type(s) for ** or pow(): 'decimal.Decimal' and 'float'
Я смотрю в Интернете, но не смог найти хороший источник, который охватывает вещи и приводит примеры.Как я могу получить квадратные корни десятичных дробей и если я хочу, чтобы результат типа Decimal и операции были в основном без потерь, как я могу реализовать его в приведенном выше коде?Это python 3.6 Я новичок здесь, поэтому я благодарю вас за терпимость ко мне.