本文主要是介绍使用布丰投针法精确计算圆周率,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果在平面上有两条距离为d的平行线,假设如果拿一根长度是L的铁针随机的丢到纸面上去,那么试问铁针与某条直线所相交的概率是多少,假设铁针的长度L是大于平行线的距离d的,这样铁针就不会同时与两条直线所相交了。
添加图片注释,不超过 140 字(可选)
对于所给的问题,假设x是铁针中点与距离最近的那条平行线之间的距离,同时a是针与线形成的夹角,由此就可以使用这两个变量来描述针是否与线产生了相交的效果,由于x和a的取值必须满足某种条件,所以,两个变量所构成的概率密度函数是:
添加图片注释,不超过 140 字(可选)
于是就可以得到铁针与直线相交的概率函数是:
添加图片注释,不超过 140 字(可选)
把这个式子展开进行积分运算所得。
而根据上述的式子,就可以将π反解出来:
添加图片注释,不超过 140 字(可选)
对于式子中分子的前半部分表示的是铁针与直线所相交的概率,这个值是可以通过简单的实验方式来得到的,例如,随机投针M次,记录其中针会与线相交的次数是N,那么N/M就可以代替上述分子中的前半部分来进行运算,从而同样也可以解出π的值,而这里也就可以显示出当M越大的时候,所得到的π的值也就越精确。
而对于上述的这个算法,也就是布丰投针法,在历史上也就有这样一个军官在一段时间内,为了找到一些事情来消遣,就使用一根铁线来丢到木板上,他使用的铁线也就相当于是上面所说到的铁针,模板的上下边缘也就是上面所描述到的平行线。这个人在投了一段时间之后,记录相交的次数,并使用上述的式子来进行推算π的值,最后所得到的结果是3.14。
这篇关于使用布丰投针法精确计算圆周率的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!