首页 > 解决方案 > 使用球体体积进行 Pi 估计

问题描述

我的任务是以至少 10^-6 的精度计算 pi 的近似值。Monte Carlo 算法不能提供所需的精度。我只需要通过球体的体积来使用计算。你有什么建议?我很高兴看到 CUDA 或纯 C++ 中的代码示例。谢谢你。

标签: c++algorithmpiestimation

解决方案


泰勒级数可用于计算精确到小数点后 5 位的 pi 值。

#include<iostream>
using namespace std;
double pi(int n) {
    double sum = 0.0;
    int sign = 1;
    for (int i = 0; i < n; ++i) {           
        sum += sign/(2.0*i+1.0);
        sign *= -1;
    }
    return 4.0*sum;
}
int main(){
   cout << pi(10000000) << endl;
}

推荐阅读