现在的位置: 首页 > 综合 > 正文

蒙特卡罗算法计算圆周率PI(C++)

2013年08月05日 ⁄ 综合 ⁄ 共 612字 ⁄ 字号 评论关闭

蒙特卡罗(Monte Carlo)算法计算圆周率的主要思想:给定边长为R的正方形,画其内切圆,然后在正方形内随机打点,设点落在圆内的概为P,则根据概率学原理:
P = 圆面积 / 正方形面积 = PI * R * R / 2R * 2R = PI / 4。
即 PI=4P。这样,当随机打点足够多时,统计出来的概率就非常接近于PI的四分之一了。

最后,直觉告诉我:如果采用值域更大的伪随机数发生器(标准库中的rand能常只产生最大为三万多的伪随机数),结果应该可以更好。

抱歉!评论已关闭.