<分区>
下面的代码可能不是最好看的,但它完成了工作。至少那是我的想法。当我尝试使用大于 250,0000 的样本点时遇到问题。我真的不知道该怎么做。
我唯一尝试过的是将变量的类型从 int 切换为 long。
double MonteCarlo(){
const long N = 250000;
double GenR[NumPoints],apprx;
static double result[1];
double sum = 0;
default_random_engine generator;
uniform_real_distribution<double> distribution(0.0,1.0);
for(int i=0; i<=NumPoints; i++){
randGen[i] = distribution(generator);
sum += 4*exp(16*pow(GenR[i],2)-12*GenR[i]+2);
}
apprx = sum/NumPoints;
return apprx;
}