问题描述
我正在尝试使用 Python 确定 pi 到 n 位小数,但我不知道为什么它不起作用。我最初尝试使用 Machin 的 pi = 16atan(1/5)-4atan(1/239) 公式和泰勒展开式。
def atan(x,n):
k = 0
u = x # 1st value of u for k=0
t = u # 1st value of s for k=0
s = t # summ for k=0
while k<n:
k += 1
u *= -(x*x)
t = u/(2*k+1)
s += t
return s
然后我只要求 pi 但它仅限于小数位数 pi_calc = 16arctang(1/5,10000000) - 4arctang(1/239,10000000)
3.141592653589794
我找到了另一种使用 spigot 算法的方法,但我认为我的方法可以更有效一些...我怀疑这是因为我们受到 Python 中数字精度的限制,但我不确定。
想法?谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)