Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率
【原创】
本文利用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 Methodn1=0c=10002499687 #100.02499687mc=8; m=mcf1=10**mcf2=f1*f1a=10005*f2-c*cwhile mc<n:a*=f2b=c*2*f1d=a//bc=c*f1+da-=d*(b+d)mc+=mif mc*2>n: m=n-mcelse: m=mcf1=10**mf2=f1*f1n1+=1return c# Main Program
#
print ("Chudnovsky法計算高精度圓周率程序")
while 1:n=int(input('計算位數[1..50000],0:退出:'))if n<=10: breakn+=2base=10**nt=time.clock()# Start CalculatingA=13591409*base; B=Ac3=13591409i=1while abs(A)>5:c1=((108-72*i)*i-46)*i+5c2=10939058860032000*i**3c4=c3; c3+=545140134i+=1A=A*c1*c3//(c2*c4) # Must in form: A=A*...B+=Ap=426880*base*Sqrt10005()//B//100# Post accessprint ("用時= %8.3f 秒" % (time.clock()-t))s=input('是否显示结果(Y/N):')if (s=='Y')|(s=="y"): print ("PI="+str(p))
# end
Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率相关推荐
- python求圆周率马青公式_Python 实现丘德诺夫斯基(Chudnovsky)法計算高精度圓周率...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 源码:(需要将 @ 替换成 ASCII空格) # -*- coding: UTF-8 -*- # 丘德诺夫斯基法計算高精度圓周率程序 # Calculat ...
- Python:实现chudnovsky algorithm楚德诺夫斯基算法(附完整源码)
Python:实现chudnovsky algorithm楚德诺夫斯基算法 from decimal import Decimal, getcontext from math import ceil, ...
- matlab-罗曼诺夫斯基准则剔除粗大值
罗曼诺夫斯基准则原理 罗曼诺夫斯基准则又称 t检验准则,其特点是首先删除一个可疑的的测得值,然后按 t分布检验被剔除的测量值是否含有粗大误差 罗曼诺夫斯基准则 1)选取合适的显著度a,选择合适 ...
- 歪写数学史(只要真理——罗巴切夫斯基)
即使目前为止的出场人物里超过半数来自法国, 我依然跳过了如帕斯卡, 傅里叶,彭赛列,泊松这样伟大的名字.当我再次审视巴黎这座时尚之都的时候, 只有戴上墨镜才能不被那一道道比 Hermes.Chanel ...
- 亚当·扎加耶夫斯基诗十二首
亚当·扎加耶夫斯基诗十二首 黄灿然译 神秘主义入门 天气很暖和,光很充沛. 咖啡馆露台上那德国人 膝上搁着一本小书. 我瞥见那书名: <神秘主义入门>. 突然间我明白了,那些 打着尖利的忽 ...
- 坚持真理的艰辛——罗巴切夫斯基创立非欧几何的艰难历程
1893年,在喀山大学树立起世界上第一个数学家的塑像.这位数学家就是俄国的伟大学者.非欧几何的创始人之一罗巴切夫期基(H.N.JIoqaheBCKNN,1792-1856).非欧几何是人类认识史上一个 ...
- SYSU-1,URAL 1894,闽科夫斯基和(黑科技)
题目大题:给你两个相交的凸包,其中一个可移动,问你至少移动多少能够让两个凸包分离 解:我艹我为此写了7k计算几何还是wa6了,后面去看discuz才知道是用一个闽科夫斯基和的黑科技. 闽科夫斯基和大概 ...
- 判断平面图的库拉托夫斯基定理
前几天看了B站李博士发布的内容 https://www.bilibili.com/video/BV1YC4y1H7F7 分享了库拉托夫斯基定理,里面的Up主有一些内容引起了我的兴趣. 下面是我的一些笔 ...
- 奥斯堕落夫斯基娃的炸鸡(埃式筛 + 尺取)
奥斯堕落夫斯基娃的炸鸡 Description 由于疫情的影响,街道上面很多店铺都关门了,奥斯堕落夫斯基娃不能吃到心爱的炸鸡,所以十分难受,经过了漫长的等待,疫情终于有所好转,所有卖炸鸡的店铺都开门了 ...
最新文章
- 阿里巴巴图学习框架 euler 安装运行记录
- LeetCode简单题之最长特殊序列 Ⅰ
- 如何在 Vue 项目中使用 echarts
- Android 轮询最佳实践 Service + AlarmManager+Thread
- windows上报错:Could not find a version that satisfies the requirement torch==0.4.1
- ngin配置301重定向设置方法和nginx子目录301重定向
- hdu 1418 抱歉 (欧拉公式)
- matlab 28m35,F28M35H52C
- Java 8中的新BigInteger方法
- 使用JS实现文字搬运工
- 【OpenCV 例程200篇】35. 图像的投影变换(边界填充)
- python抓取抖音用户画像,摩羯天蝎居然刷得最多?
- 线性代数:特征值和特征向量
- Java设计模式4:单例模式
- GET /favicon.ico HTTP/1.1 404
- matlab库存点仿真教程,MATLAB Simulink 汽车整车动力总成仿真 视频教程
- html菜鸟教程选项卡,jQuery EasyUI 布局插件 – Tabs 标签页/选项卡 | 菜鸟教程
- Python隐形马尔科夫实战_通过Python的Networkx和Sklearn来介绍隐性马尔科夫模型
- win7安装镜像注入USB3.0,NVMe驱动
- background 组合写法_css中background复合属性详解
热门文章
- 入门铺路——python
- Fiddler实现手机抓包——风云无忌
- PyQt5教程(八)——实现QQ登录界面(二、加载资源文件)
- UE5 官方案例Lyra全特性详解 6.生成防御塔
- 【论文笔记】ViLBERT:Pretraining Task-Agnostic VisiolinguisticRepresentations for Vision-and-Language Tasks
- MySQL 编译安装错误记录
- 2007中国各省GDP排名
- 泛泰SKYA850黑砖QHSUSB_DLOAD救砖教程(操作篇)[2013.6.3更新]
- ChatGPT和AI Art带来的变革,主导2023年的3个重要机器学习思想,理解这些概念可以让你在未来主宰人工智能
- 麒麟操作系统V10默认的大页大小