【原创】
本文利用Python自带的高精度整型计算功能,实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率。计算速度比马青公式要快。
经过艰苦的调试,实现该计算,10万位的计算在秒级完成。以下是计算截图:
以下是代码:
# -*- coding: UTF-8 -*-
# 丘德诺夫斯基法計算高精度圓周率程序
# Calculating PI with Chudnovsky-Series
# Author: Idealguy,2018, Shanghai
#
import time
# In following functions, High-Prec Nums are both amplified 10**n
# pre-defined: Base=10**n
#
def Sqrt10005(): # Sqrt(10005L) by Imitate-Manual Method
n1=0
c=10002499687 #100.02499687
mc=8; m=mc
f1=10**mc
f2=f1*f1
a=10005*f2-c*c
while mc<n:
a*=f2
b=c*2*f1
d=a//b
c=c*f1+d
a-=d*(b+d)
mc+=m
if mc*2>n: m