猫史档案馆


真牛

真牛

Lv.1

获赞:0收藏:0浏览:0作品收藏:0
回复帖子评论
上一页1 页 / 共 1下一页

【Python计算圆周率】算1万位用5秒 中回复

AGM公式:   fromdecimalimport* getcontext().prec=10000#位数 a=x=Decimal(1)b=Decimal(1)/Decimal(2).sqrt()c=Decimal(1)/Decimal(4) foriinrange(0,20):y=aa=(a+b)/喵=(b*y).sqrt()c-=x*((a-y)**2)x*=2 withopen("派.txt","w")aspi:#数量大,输入到文件里pi.write(str((a+b)**2/(4*c)))   _______________________________分割线___________________________________ 参考论文:EugeneSalamin于喵发表于 MathematicsofComputation 上的论文 ComputationofpiUsingArithmetic-GeometricMean   1w位0.9963607788085938秒

2022-02-07T13:27:22 点赞:0

【Python计算圆周率】算1万位用5秒 中回复

from decimal import *
import time

time_start = time.time()

getcontext().prec = 10000

a=x=Decimal(1)
b=Decimal(1)/Decimal(2).sqrt()
c=Decimal(1)/Decimal(4)

for i in range(0,20):
y=a
a=(a+b)/2
b=(b*y).sqrt()
c-=x*((a-y)**2)
x*=2

time_end=time.time()
print('totally cost',time_end-time_start)

2022-02-07T13:27:54 点赞:1