计算圆周率的值,我试图用这个公式计算圆周率的值:不正确的答案,同时从给定的系列
我这样写代码,发现它对于一个给定n
:
def pisum(n):
sum=3.0
x=2.0
while (n>0):
if n%2==1:
sum=sum+(4/(x*(x+1)*(x+2)))
else :
sum=sum-(4/(x*(x+1)*(x+2)))
x=x+2
n=n-1
return str(sum)
它运行正常n=0
和n=1
并给出输出3.0,3.16666666667。但是对于n=50
,输出应该是3.1415907698497954,但它会给出2.85840923015。为什么这么差?请帮助纠正我做错了什么。
“但是对于n = 50,输出应为3.1415907698497954 ......”你为什么这样认为? –
@ IgnacioVazquez-Abrams我看过的系列说这个。它由1501年印度数学家Kelallur Nilakantha Somayaji给出。你可以在网上查询:) – mat7
不,你*可以提供链接。 *您*是提问的人。 –