猫史档案馆


用py计算π?注意,是计算!

用户:USS米奈希尔之怒USS米奈希尔之怒查看:0 回复:0 评论:0 创建时间:2022-07-20T11:05:28


代码里有注释,自己看

from time import*
n = int(input('请键入想要计算到π小数点后的位数:'))  # 先键入字符串,再转化为整数
pait = 0.0005*n
if pait < 60:
    print("正在计算中......(时间在",pait,"秒之内)")
else:
    pait = pait / 60
    print("正在计算中......(时间在",pait,"分钟之内)")
t1 = time()
w = n+10  # 多计算10位,防止尾数取舍的影响
b = 10**w  # 算到小数点后w位
x1 = b*4//5  # 求含4/5的首项
x2 = b // -239  # 求含1/239的首项
he = x1+x2  # 求第一大项
n *= 2  # 设置下面循环的终点,即共计算n项
for i in range(3, n, 2):  # 循环初值=3,末值n,步长=2
    x1 //= -25  # 求每个含1/5的项及符号
    x2 //= -57121  # 求每个含1/239的项及符号
    x = (x1+x2) // i  # 求两项之和
    he += x  # 求总和
pai = he*4  # 求出π
pai //= 10**10  # 舍掉后十位
t2= time()
t = t2 - t1
print("结果如下(没有小数点,请见谅):")
print(pai)  # 输出圆周率π的值
print("共用时",t,"秒")

 


回复

上一页1 页 / 共 0下一页