首页 > 编程语言 > 详细

C++ 概率算法 利用蒙特卡罗算法计算圆周率

时间:2019-07-07 15:15:59      阅读:192      评论:0      收藏:0      [点我收藏+]

概率算法大致可分为4种形式:

数值概率算法;

蒙特卡罗算法;

拉斯维加斯算法;

舍伍德算法;

计算蒙特卡罗概率的算法实现:

 1 #include "stdio.h"
 2 #include "time.h"
 3 #include "stdlib.h"
 4 
 5 double MontePI(int n)
 6 {
 7     double PI;
 8     double x, y;
 9     int i, sum;
10 
11     sum = 0;
12     srand(time(NULL));
13     for (i = 1; i < n; i++)
14     {
15         x = (double)rand() / RAND_MAX;
16         y = (double)rand() / RAND_MAX;
17         if ((x*x + y*y) <= 1)
18             sum++;
19     }
20     PI = 4.0*sum / n;
21     return PI;
22 }
23 
24 int main()
25 {
26     int n;
27     double PI;
28 
29     scanf("%d",&n);
30     PI = MontePI(n);
31     printf("PI=%f\n",PI);
32     system("pause");
33     return 0;
34 }

注意 思想 的学习。

 

C++ 概率算法 利用蒙特卡罗算法计算圆周率

原文:https://www.cnblogs.com/zhibei/p/11146225.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!