算法之美

您所在的位置:网站首页 蒙特卡洛求解pi 算法之美

算法之美

2024-07-17 17:07| 来源: 网络整理| 查看: 265

     

         基本思想: 利用圆与其外接正方形面积之比为pi/4的关系,通过产生大量均匀分布的二维点,计算落在单位圆和单位正方形的数量之比再乘以4便得到pi的近似值。样本点越多,计算出的数据将会越接近真识的pi(前提时样本是“真正的”随机分布)。

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

#include #include using namespace std; int main() { const int MAX_TIMES = 20000000; srand(static_cast(time(0))); int in=0; for (int i = 0; i < MAX_TIMES;i++) { double x = static_cast(rand()) / RAND_MAX; double y = static_cast(rand()) / RAND_MAX; if (x*x+y*y


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3