carlo1.cpp
来自「蒙特卡洛算法实现的检验pi的值和求二重积分的高级算法」· C++ 代码 · 共 30 行
CPP
30 行
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
void main()
{
srand((unsigned)time(0));
int i,n=10000000;
double x,y,z,pi,sum=0.0,s;
for(i=0;i<=n;i++)
{
x=(double)rand()/RAND_MAX;
y=(double)rand()/RAND_MAX;
if(x*x+y*y<=1.0)
sum++;
}
pi=4*sum/n;
cout<<"pi="<<pi<<endl;
sum=0.0;
for(i=0;i<=n;i++)
{
x=(double)rand()/RAND_MAX;
y=2*(double)rand()/RAND_MAX;
z=5*(double)rand()/RAND_MAX;
if(z<=x*x+y*y)
sum++;
}
s=10*sum/n;
cout<<"S="<<s<<endl;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?