使用蒙特卡罗法编程序。
蒙特卡罗法(Monte Carlo method)是以概率与统计的理论、方法为基础的一种计算方法,蒙特卡罗法将所需求解的问题同某个概率模型联系在一起,在电子计算机上进行随机模拟,以获得问题的近似解。因此,蒙特卡罗法又称随机模拟法或统计试验法。
废话不多说上代码:
#include<iostream>
#include<stdlib.h>
#include<time.h>
using namespace std;
#define n 30000
int main(){
float x,y;
int c=0,d=0;
srand((unsigned)time(NULL));//播种子
while(c++<=n){
x=rand()%100;//产生100以内的随机数
y=rand()%100;
if(x*y+y*y<=10000){//判断是否在圆里
d++;
}
}
cout<<"pi:"<<4.0*d/n<<endl;//输出近似值π
}
运行效果(由于是近似值每次产出随机数不同可能和我输出不一样):