随机投点法计算圆周率

#include 
#include 
#include 
using namespace std;

// 获得0-1之间的随机数
double get_random_num ()
{
    return (double)rand () / RAND_MAX ;
}
// 用随机投点法计算 PI
double darts (int n)
{
    int k = 0 ;
    for (int i = 0; i < n; ++ i) {
        double x = get_random_num() ;
        double y = get_random_num() ;
        if ((x * x + y * y) <= 1.0) {
            ++ k ;
        }
    }
    return (4 * k) / (double)n ;
}
int main()
{
    cout << darts (200000000) << endl ;
}

随机投点法计算圆周率

结果还是很准的

1. RAND_MAX在cstdlib中

2.rand()在cstdlib中,随机产生一个整数, 每次执行产生的是相同的

3. srand(); 常用srand((unsigned)time(NULL));

你可能感兴趣的:(c/c++)