第1个回答 2015-06-16
程序:(该算法可以修改后用Mathematica计算或者Matlab)
/* 利用蒙特卡洛算法近似求圆周率Pi*/
/*程序使用:VC++6.0 */
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#define COUNT 800
/*循环取样次数,每次取样范围依次变大*/
void main()
{ double x,y; int num=0; int i;
for(i=0;i<COUNT;i++)
{ x=rand()*1.0/RAND_MAX;
/*RAND_MAX=32767,包含在<stdio.h>中*/
y=rand()*1.0/RAND_MAX;
if((x*x+y*y)<=1) num++;
/*统计落在四分之一圆之内的点数*/
}
printf("Pi值等于:%f\n",num*4.0/COUNT);
}本回答被网友采纳