用python计算圆周率Π
一、要求:
1.计算到圆周率后面越多位越好。
2.用进度条显示计算的进度。
3.要求给出圆周率Π的具体计算方法和解释。
二、算法:
1.拉马努金公式:
2.高斯-勒让德公式:
与
之间的误差到达所需精度:
3.波尔文四次迭代式
这个公式由乔纳森·波尔文和彼得·波尔文于1985年发表的。
bailey-borwein-plouffe算法
这个公式简称BBP公式,由David Bailey, Peter Borwein和Simon Plouffe于1995年共同发表。它打破了传统的圆周率的算法,可以计算圆周率的任意第n位,而不用计算前面的n-1位。这为圆周率的分布式计算提供了可行性。
4.丘德诺夫斯基公式
这是由丘德诺夫斯基兄弟发现的,十分适合计算机编程,是目前计算机使用较快的一个公式。
5.莱布尼茨公式
π/4=1-1/3+1/5-1/7+1/9-1/11+……
6.蒙特卡罗法(打鸟法)
一个正方形内部相切一个圆,圆和正方形的面积之比是π/4。
在这个正方形内部,随机产生n个点(这些点服从均匀分布),计算它们与中心点的距离是否大于圆的半径,以此判断是否落在圆的内部。
统计圆内的点数,与n的比值乘以4,就是π的值。理论上,n越大,计算的π值越准。
三、算法实现
以下采用蒙特卡罗法(打鸟法),代码及图片如下。
1 import math 2 import time 3 scale=10 4 print("执行开始") 5 t=time.process_time() 6 for i in range(scale+1): 7 a,b='**'*i,'..'*(scale-i) 8 c=(i/scale)*100 9 π=4*(4*math.atan(1/5)-math.atan(1/239)) 10 print("%{:3}[{}->{}]".format(a,b,c)) 11 time.sleep(0.1) 12 print(π) 13 print("{:.2f}s".format(t)) 14 print("执行结束")
运行结果:
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 22:20:52) [MSC v.1916 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license()" for more information. >>> ================= RESTART: C:/Users/Benny/Desktop/打鸟法求圆周率.py ================= 执行开始 % [....................->0.0] %** [..................->10.0] %****[................->20.0] %******[..............->30.0] %********[............->40.0] %**********[..........->50.0] %************[........->60.0] %**************[......->70.0] %****************[....->80.0] %******************[..->90.0] %********************[->100.0] 3.1415926535897936 0.56s 执行结束 >>>
另外,进度条还可以用python的pip库来实现:
转载于:https://www.cnblogs.com/shuxincheng/p/10574900.html
用python计算圆周率Π相关推荐
- 鬼才!用Python计算圆周率 π
目录 一.圆周率的历史发展 1.中国 2.印度 3.欧洲 二.用python计算圆周率 A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 桥哥 ...
- python里的π怎么调用_用python计算圆周率π
用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π的具体公式或者算法说明. 二.算法 1.马青公 ...
- python计算圆周率近似值_python计算圆周率pi的方法
本文实例讲述了python计算圆周率pi的方法.分享给大家供大家参考.具体如下: from sys import stdout scale = 10000 maxarr = 2800 arrinit ...
- 如何用python计算圆周率_如何用python计算圆周率?
如何用python计算圆周率? python计算圆周率的方法: 圆周率没有精确的计算公式,所以只能用近似的方式计算它的近似值. 我们运用蒙特卡罗方法,思路很简单,在下面图形中随机抛置大量的点, 计算落 ...
- python计算圆周率_python模拟蒙特·卡罗法计算圆周率
蒙特·卡罗方法是一种通过概率来得到问题近似解的方法,在很多领域都有重要的应用,其中就包括圆周率近似值的计问题. 假设有一块边长为2的正方形木板,上面画一个单位圆,然后随意往木板上扔飞镖,落点坐标(x, ...
- 用python计算圆周率_用python计算圆周率π
原博文 2020-03-22 15:32 − 用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π ...
- python 圆周率,用python计算圆周率π
用python计算圆周率π 一.要求 1.要起义能计算到圆周率后面越多位越好. 2.用进度条显示计算的进度,能给出越多种进度条越好. 3.要求给出圆周率π的具体公式或者算法说明. 二.算法 1.马青公 ...
- python计算圆周率_Python实现计算圆周率π的值到任意位的方法示例
本文实例讲述了Python实现计算圆周率π的值到任意位的方法.分享给大家供大家参考,具体如下: 一.需求分析 输入想要计算到小数点后的位数,计算圆周率π的值. 二.算法:马青公式 π/4=4arcta ...
- python计算圆周率_用python计算圆周率Π
一.要求: 1.计算到圆周率后面越多位越好. 2.用进度条显示计算的进度. 3.要求给出圆周率Π的具体计算方法和解释. 二.算法: 1.拉马努金公式: 2.高斯-勒让德公式: 设置初始值: 反复执行以 ...
- python计算圆周率近似值_使用python实现计算圆周率π的方法
使用python实现计算圆周率π的方法 发布时间:2020-11-19 17:34:12 来源:亿速云 阅读:94 这期内容当中小编将会给大家带来有关使用python实现计算圆周率π的方法,文章内容丰 ...
最新文章
- VTK:PolyData之TransformFilter
- C# FolderBrowserDialog 的用法
- Dynamic动态类型
- 一分钟理解三次握手和四次挥手
- 显示栅格数据的渲染器
- [每日一题] OCP1z0-047 :2013-07-13 oracle 10g正则表达式 REGEXP_LIKE 用法
- ASP.NET Core部署到CentOS7,使用Nginx代理
- MySQL 编码相关小结
- Call to your teacher(深度搜索)
- micropython支持stm32型号_轻松几步实现在STM32上运行FreeRTOS任务
- 360优化开机速度后慢了_电脑开机速度慢的原因及解决方法
- linux服务器离线安装python第三方库
- python控制步进电机_MicroPython TPYBoard v102 驱动28BYJ-48步进电机
- 关于 Java 的线程状态
- ADXL345知识学习总结
- NET 3行代码实现文字转语音功能
- 【进程】进程间通信----消息队列
- linux和windows和mac的文件读取方式的差异
- Tms320c6678——多核导航模块(Multicore Navigator)
- VCIP2020:相同主观质量下基于学习的UGC短视频低码率编码
热门文章
- 浅谈游戏《底特律:变人》
- google浏览器缓存文件在哪里
- iOS_6_ToolBar+xib+红楼梦
- 日程提醒app android,手机里有提醒日程安排的软件吗?
- 2022年武汉市小微企业服务补贴券签约服务机构申报条件、材料及时间
- 树莓派(Raspberry Pi 4 Model B)编译64位内核Kernel
- 分享几个做CTF的网站
- 翟菜花:她经济的营销攻坚战,4C的用户导向才是破局之法
- 阿里知产研究院报告:侵犯知识产权行为的罪与罚 | 湖畔新知汇
- 设计模式之单例模式(Singleton)