共计 608 个字符,预计需要花费 2 分钟才能阅读完成。
马青公式:马青公式由英国天文学教授约翰·马青 (John Machin ,1686 –1751) 于 1706 年发现。马青公式每计算一项可以得到 1.4 位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
根据提示输入要计算的长度,计算完成自动生成 pai.txt 文件,要多长有多长。
经过测试在博主笔记本上生成 10w 位大概需要 13 秒左右。
# -*- coding: utf8 -*-
import time
def comput():
n =int(input('请输入要计算的长度:'))
start_time = time.time()
w = n+10
b = 10**w
x1 = b*4//5
x2 = b// -239
he = x1+x2
n *= 2
for i in range(3,n,2):
x1 //= -25
x2 //= -57121
x = (x1+x2) // i
he += x
pai = he*4
pai //= 10**10
end_time = time.time()
run_time = str(end_time - start_time)
paistr=str(pai)
paistr=paistr[:1] + '.' + paistr[1:]
f=open('pai.txt','w')
f.write(paistr)
f.close()
print ('运行时间:' + run_time)
#print ('计算结果:',pai)
print ('\n'*1)
comput()
comput()
正文完