鬼才!用Python计算圆周率 π

目录

一、圆周率的历史发展

1、中国

2、印度

3、欧洲

二、用python计算圆周率


A货:什么!你不会背圆周率(鄙夷的眼神) 3.1415926535 8979323846 26433... 

桥哥:我会算呀 !!!

一、圆周率的历史

1、中国

★ 魏晋时期,刘徽曾用使正多边形的边数逐渐增加去逼近圆周的方法 (即「割圆术」),求得π的近似值3.1416。

★ 汉朝时,张衡得出π的平方除以16等于5/8,即π等于10的开方(约为3.162)。虽然这个值不太准确,但它简单易理解,所以也在亚洲风行了一阵。

★ 王蕃(229-267)发现了另一个圆周率值,这就是3.156, 但没有人知道他是如何求出来的(ps. 没开源呗!)。

★ 公元5世纪,祖冲之和他的儿子以正24576边形,求出圆周率约为355/113,和真正的值相比,误差小于八亿分之一。这个纪录在一千年后才给打破。(ps. 在大部分人不知股股定理年代,真牛!)

2、印度

★ 约在公元530年,数学大师阿耶波多利用384边形的周长,算出圆周率约为√9.8684。

★ 婆罗门笈多采用另一套方法,推论出圆周率等于10的平方根。(ps. 跟张衡大佬的结果一致,但过程不同)

3、欧洲

★ 斐波那契算出圆周率约为3.1418。

★ 韦达用阿基米德的方法,算出3.1415926535<π<3.1415926537。他是第一个以无限乘积叙述圆周率的人。

★ 鲁道夫万科伦以边数多过32000000000的多边形算出有35个小数位的圆周率。

★ 华理斯在1655年求出一道公式π/2=2×2×4×4×6×6×8×8...../3×3×5×5×7×7×9×9......

★ 欧拉发现的e的iπ次方加1等于0,成为证明π是超越数的重要依据。

二、用python计算圆周率π

【方法】蒙特卡洛法

【程序设计思路】使用python random库随机生成点,落在正方形内,计算正方形内的圆内落点与正方形内落点之比,近似为面积之比,随机数越随机,数量越大越准确。

【软件环境】python 3.6(本程序可兼容python 2.x)

【代码】

from random import random
from time import perf_counterdef calPI(N = 100):hits = 0start = perf_counter()for i in range(1, N*N+1):x, y = random(), random()dist = pow(x ** 2 + y ** 2, 0.5)if dist <= 1.0:hits += 1pi = (hits * 4) / (N * N)use_time = perf_counter() - startreturn pi, use_timePI, use_time = calPI(10000)
print('use Monte Carlo method to calculate PI: {}'.format(PI))
print('use time: {} s'.format(use_time))

【结果展示】

震惊:10000次随机数,精确到3.1415了,把桥哥放在1000年前,可不得了

【常见问题答疑】

(每篇文章都有很多粉丝私信我,提前答疑一下!!):

1、运行程序前,先导入顶部的包,怎么导包看这里:https://blog.csdn.net/weixin_39032019/article/details/116934759

2、本文使用的random 和 time库为python自带,无需导入,可直接执行程序。

我是西红柿,专注分享互联网黑科技,点赞、收藏、评论是对我最好的支持 !!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/494727.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个简单WCF项目的建立 by wsz

由于搬砖的需要&#xff0c;不得不学一点与WCF有关的东西。具体是因为前几周在64位环境下写的一个dll不能被集成到合作伙伴的32位工程中&#xff0c;但是要修改文件实在是划不来&#xff0c;一个压缩后600M的文件搬来搬去的也是让人蛋碎。因此想到了WCF。这样只要提供一个servi…

大数据常见问题:数据倾斜

offer收割系列介绍&#xff1a; 1、分享桥哥本人或小伙伴在面试大厂时遇到的真题&#xff0c;并给出参考答案&#xff01;&#xff01;如果能帮到大家&#xff0c;点赞、收藏、评论是对我最大的支持&#xff01;&#xff01; 2、涉及岗位&#xff1a;主要为大数据开发、数据仓…

一图看懂新一代人工智能知识体系大全

来源&#xff1a;财经头条摘要&#xff1a;人工智能的发展离不开基础支持层和技术层&#xff0c;基础支持层包括大数据、计算力和算法&#xff1b;技术层包括计算机视觉、语音识别和自然语言处理。人工智能的技术本质是什么&#xff0c;本文会详细分析。人工智能的发展离不开基…

Redis是单线程为什么还那么快?

Redis为什么还那么快 基于内存   Redis完全基于内存&#xff0c;绝大部分请求是纯粹的内存操作&#xff0c;Redis将数据存储在内存中&#xff0c;读写数据的时候不会受到硬盘I/O速度的限制&#xff08;内存速度为什么比硬盘快&#xff1f;&#xff09;&#xff0c;类似于Hash…

iPhone是否越狱的检测方法

今天项目中要用到检查iPhone是否越狱的方法。 Umeng统计的Mobclick.h里面已经包含了越狱检测的代码&#xff0c;可以直接使用 /*方法名:* isJailbroken*介绍:* 类方法&#xff0c;判断设备是否越狱&#xff0c;判断方法根据 apt和Cydia.app的path来判断*参数说明…

阿里、字节offer收割系列:数据仓库岗(面试真题,建议收藏)

【offer收割系列介绍】 1、分享桥哥本人或小伙伴在面试大厂时遇到的真题&#xff0c;并给出参考答案&#xff01;&#xff01; 2、涉及岗位&#xff1a;主要为大数据开发、数据仓库&#xff08;桥哥干过的&#xff09;&#xff0c;其它岗位也可参考 3、涵盖技术&#xff1a;mys…

MIT新开发的 AI 模型有望改进恶性脑瘤治疗

来源&#xff1a;人工智能和大数据美国研究人员新近开发出一种人工智能模型&#xff0c;能够为胶质母细胞瘤患者设计出最小剂量给药方案&#xff0c;在缩小肿瘤的同时减少药物带来的毒副作用&#xff0c;改进患者生活质量。胶质母细胞瘤是一种常见的恶性脑瘤&#xff0c;常见疗…

git远程分支修改名字

本地分支重命名(还没有推送到远程) git branch -m oldName newName远程分支重命名 重命名远程分支对应的本地分支 git branch -m oldName newName删除远程分支 git push --delete origin oldName上传新命名的本地分支 git push origin newName把修改后的本地分支与远程分支关联…

30款顶级CSS工具及应用-CSDN.NET

30款顶级CSS工具及应用-CSDN.NET. 第3个CSS3PS尤其令惊艳&#xff01;&#xff01;&#xff01;非常强大的效果&#xff0c;无需安装&#xff0c;直接photoshop弄好&#xff0c;文件——脚本——选择pscss3——再用chrome打开即可&#xff01; 转载于:https://www.cnblogs.com…

建议收藏丨大数据集群常用监控命令(内存、磁盘、CPU、网络)

大家好&#xff0c;我是明月十四桥&#xff01;&#xff01; 擅长领域&#xff1a;python黑科技、大数据后端研发、数据仓库 今日重点&#xff1a; ① 学会查看linux各种状态&#xff0c;包括&#xff1a;网络IO、磁盘、CPU、内存等&#xff1b; ② 学会理解命令所代表的含义&a…

中科院王飞跃:新的智能全球化将要来临,人工智能标准化为时尚早

中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任王飞跃来源&#xff1a;财经网摘要&#xff1a;8月11日&#xff0c;中国科学院自动化研究所复杂系统管理与控制国家重点实验室主任王飞跃在由厚益控股和《财经》杂志联合主办主题为“共享全球智慧 引领未来科技”的…

Linux设置gopath

vim /etc/profile #编辑gopath&#xff0c;写入如下export GOROOT/usr/local/go #设置为go安装的路径&#xff0c;有些安装包会自动设置默认的goroot export GOPATH$HOME/gocode #默认安装包的路径 可以加自己想要的路径&#xff0c;用:分割 export PATH$PATH:$GOROOT/bi…

建议收藏丨sql行转列的一千种写法!!

大家好&#xff0c;我是明月十四桥&#xff01;&#xff01; 爱好特长&#xff1a; 1、爱好和特长有很多&#xff0c;擅长word、excel、ppt、wind等软件的安装与卸载&#xff1b; 2、精通PE、PS、PB、DCF、PEG等单词的拼写&#xff1b; 3、熟悉Windows、Linux、Mac、Android、I…

ORA-32004问题解决

问题描述&#xff1a; JSSSTR> startup force nomount;ORA-32004: obsolete and/or deprecated parameter(s) specifiedORACLE 例程已经启动 解决方法&#xff1a; 通过查看alter.log,并删除相应的值 上面提到的alert log文件位于%ORACLE_BASE%\admin\%ORACLE_SID%\bdump里。…

深度学习并非万能:你需要避免这三个坑

作者 | George Seif编译 | 专知整理 | Mandy, Sanglei摘要&#xff1a;本文是人工智能专家George Seif撰写的博文&#xff0c;介绍了在当前深度学习比较火热的情景下需要避免的三个坑。Tweaking Neural Net ParametersThree reasons that you should NOT use deep learning深度…

Redis配置文件常用配置消息解说--版本5.0.9

单位 配置文件中的uint单位对大小写不敏感 引用包 INCLUDES redis中也可以引用其他的配置文件。需要注意的是&#xff0c;在主从复制机制中&#xff0c;主机或哨兵的命令“CONFIG REWRITE”不会重写“include”选项。Redis总是使用最后处理的行作为配置指令的值&#xff0c;…

万字长文丨7个经典问题,助你拿下Java面试(建议收藏)

擅长领域&#xff1a;execl、word、ppt 等 今日重点&#xff1a; ① 掌握面试的基本素质&#xff1b; ② 学会7个典型的java面试问题。 有问题的小伙伴欢迎加我主页vx。评论、点赞、收藏是对我最大的支持&#xff01;&#xff01;&#xff01; 目录 一、面试的目的 二、面…

剑指 Offer 09. 用两个栈实现队列(相邻相同操作只需要移动一次)

题目 用两个栈实现一个队列。队列的声明如下&#xff0c;请实现它的两个函数 appendTail 和 deleteHead &#xff0c;分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素&#xff0c;deleteHead 操作返回 -1 ) 示例 1&#xff1a; 输入&#xff1a; …

应用人工智能有助心理学发展

来源&#xff1a; 中国社会科学报摘要&#xff1a;人工智能及相关技术的发展&#xff0c;为心理学研究提供了突破性的研究方法和工具&#xff1b;心理学对大脑机制的研究成果运用于人工智能领域&#xff0c;也推动着人工智能研究的进步。心理学同人工智能联系紧密&#xff0c;自…

【粉丝福利、免费领取】:1000套PPT模板、100份简历模板、硬核学习资料+PDF资料(java、python、大数据、机器学习)

目录 1、100套小编购买的简历模板&#xff08;部分截图&#xff09; 2、1000套精品PPT模板&#xff08;部分截图&#xff09; 3、大数据-学习资料&#xff08;1.3G 硬核PDF&#xff0c;官方指南&#xff09; 4、python学习全集 5、Java基础、高级和面试资料 6、大数据-行…