def pi(n):
p = 10 ** (n + 10) # 准备初始整数,先多乘 k 个 0,以增加精度,最后再去掉,这里我取 k=10
a = p * 16 // 5 # 第一项的前半部分
b = p * 4 // -239 # 第一项的后半部分
f = a + b # 第一项的值
p = f # π
j = 3
while abs(f): # 当|f|=0后计算π的值就不会再改变了
a //= -25 # 第n项的前半部分
b //= -57121 # 第n项的后半部分
f = (a + b) // j
p += f
j += 2
return p // 10**10 # 去掉 k 位,k=10
print(pi(10000))
开发-计算圆周率
最新推荐文章于 2023-01-28 10:30:11 发布