我正在尝试在不使用任何模块的情况下计算PI的第一个1000位数字。我看到的每个计算PI的公式,直到使用仅通过计算无限序列或使用积分的数学模块才能接近的函数。有人对如何做有想法吗?
您可以尝试使用leibniz公式:
>>> def leibniz(n):
pi = 1
for i in range(1, n):
pi += ((-1) ** i) * (1 / (2 * i + 1))
return pi * 4
>>> leibniz(5)
3.3396825396825403
>>> leibniz(10000)
3.1414926535900345
>>> leibniz(100000)
3.1415826535897198
>>> leibniz(10000000)
3.1415925535897915