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}")

posted on 2025-04-26 13:58  雨水啊  阅读(137)  评论(0)    收藏  举报