一号热搜榜,为您提供最新的热搜资讯,热搜榜信息!

圆周率是怎么算出来的,用程序怎么算

百科热搜 作者:互联网收集 热度:231

圆周率是怎么算出来的,用程序怎么算

下午在看一个算法的时候,突然看到了一个关于圆周率的问题,如果问你圆的周长怎么算,你肯定毫不犹豫是2πR,但是π是怎么算出来的呢?估计我们都没有想过,所以我们看很多算法的时候,其实只是给了我们一个公式,其实和不懂差不多不是很大。

我来调用下我薄弱的数学细胞,简单来看一下。把一个圆如果展开,得到的就是圆的周长,即一个非精确值3.1415926。

圆周率是怎么算出来的

圆周率是怎么算出来的

我们来推算一下,下面的这个六边形,如果圆心为中心,那么半径是和六边形的边长度是一样的。假设半径长度是1,则六边形的边也是1。

如果要求得圆周的长度,其实就是不断的把多边形扩张,一条边继续细分为两个角,即十二边形,如此类推,那么得到的结果就是一个极为精确的了。

本来想着公式应该推导起来不难,结果发现数学基础确实不扎实。

第一次推导是按照这种标记方式来的,貌似少了个条件,在左边各种推导,推导失败。

然后换了个思路,重新来推导,总算有了起色。

所以我们可以很明确的知道,如果扩张后的长度和原来的长度的关系是这样的。那么我们就可以借助程序来实现圆周率的算法了。

当然假设我们是不知道圆周率这个东西的,在知道了这个关联关系后,其实可以继续做一些推导。

比如六边形,假设边长为x,则6x的长度是一个最粗略的圆的周长,这样一来,周长就是近似于6,它和半径的关系就是6*1,按照2πR的公式来看,其实也可以理解为2R(即为直径),当然实际周长要比6大一点。也就是我们计算π的意义了。

所以只要切分的边足够多,那么得到的π的值也就更加精确。这个时候写程序的话,可以参考如下的方式,不断的切分。

程序的输出如下:

想象古代的人能够计算到小数点后7位,在条件那么简单的情况,真是厉害。

关于圆周率计算的方法,后续再花一些时间琢磨下,比如用蒙特卡洛的算法。今天给我最大的一个收获是让我真正做了一些计算,能够推导出一个看起来有些复杂的公式,看来小学初中的课程内容我开始熟悉起来了。

标签: 圆周率     怎么     程序