一、算法
马青公式:马青公式由英国天文学教授约翰·马青(John Machin ,1686 –1751)于1706年发现。马青公式每计算一项可以得到1.4位的十进制精度。因为它的计算过程中被乘数和被除数都不大于长整数,所以可以很容易地在计算机上编程实现。
二、python代码
根据提示输入要计算的长度,计算完成自动生成pai.txt文件,要多长有多长。
经过测试生成10w位大概需要23秒左右。
# -*- coding: utf8 -*-
import time
def comput():n =int(input('请输入要计算的长度:'))start_time = time.time()w = n+10b = 10**wx1 = b*4//5x2 = b// -239he = x1+x2n *= 2for i in range(3,n,2):x1 //= -25x2 //= -57121x = (x1+x2) // ihe += xpai = he*4pai //= 10**10end_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()
代码github地址:https://github.com/JackieZheng/Python-Pai