import decimal
from tqdm import tqdm
def calculate_pi(iterations):
# 设置高精度计算环境
decimal.getcontext().prec = 1000 # 可根据需要调整精度
a = decimal.Decimal(1)
b = decimal.Decimal(1) / decimal.Decimal(2).sqrt()
t = decimal.Decimal(1) / decimal.Decimal(4)
p = decimal.Decimal(1)
# 使用 tqdm 库创建进度条
for _ in tqdm(range(iterations), desc="Calculating Pi"):
a_next = (a + b) / 2
b = (a * b).sqrt()
t -= p * (a - a_next) ** 2
a = a_next
p *= 2
pi = (a + b) ** 2 / (4 * t)
return pi
迭代次数,可根据需要调整
iterations = 10
pi = calculate_pi(iterations)
print(f"计算得到的圆周率 Pi: {pi}")
浙公网安备 33010602011771号