c_cpp 【随机化算法】计算π值【7.2.1】
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 【随机化算法】计算π值【7.2.1】相关的知识,希望对你有一定的参考价值。
//随机化算法 用随机投点法计算π值
#include "stdafx.h"
#include "RandomNumber.h"
#include <iostream>
using namespace std;
double Darts(int n);
int main()
{
int n1 = 100,n2 = 1000,n3 = 1000,n4 = 10000,n5 = 10000000;
cout<<"n1="<<n1<<",π1="<<Darts(n1)<<endl;
cout<<"n2="<<n2<<",π2="<<Darts(n2)<<endl;
cout<<"n3="<<n3<<",π3="<<Darts(n3)<<endl;
cout<<"n4="<<n4<<",π4="<<Darts(n4)<<endl;
cout<<"n5="<<n5<<",π5="<<Darts(n5)<<endl;
return 0;
}
//用随机投点法计算π值
double Darts(int n)
{
static RandomNumber dart;
int k = 0;
for(int i=1; i<=n; i++)
{
double x = dart.fRandom();
double y = dart.fRandom();
if((x*x + y*y)<=1)
{
k++;
}
}
return 4*k/double(n);
}
以上是关于c_cpp 【随机化算法】计算π值【7.2.1】的主要内容,如果未能解决你的问题,请参考以下文章
随机化算法概述
c_cpp 【随机化算法】计算定积分【7.2.2】
蒙特卡洛(Monte Carlo)方法计算π
蒙特卡洛(Monte Carlo)方法计算π
c_cpp 【随机化算法】随机数【7.1】
c_cpp 【随机化算法】跳跃表【7.3.3】舍伍德(舍伍德)算法