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 + -
显示快捷键?