c++ - 使用球体体积进行 Pi 估计
问题描述
我的任务是以至少 10^-6 的精度计算 pi 的近似值。Monte Carlo 算法不能提供所需的精度。我只需要通过球体的体积来使用计算。你有什么建议?我很高兴看到 CUDA 或纯 C++ 中的代码示例。谢谢你。
解决方案
泰勒级数可用于计算精确到小数点后 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;
}
推荐阅读
- android - NativeScript中PDF打印的Android实现
- pandas - 将 10 到 40 分钟随机添加到 pandas 中的日期时间列
- python - 试图让 pygame 加载图像。以前可以用,现在突然进不了游戏了
- reference - mssql 中的传入引用和传出引用
- android - 当我生成签名的 apk 文件并尝试在其他设备上运行时,某些功能无法正常工作。谁能有解决方案?
- python-3.x - 我应该为框架创建虚拟环境吗?
- .net - 文本框不显示任何文本
- javascript - 一些网站要求您下载他们的 AppStore 应用程序 - 我该如何为我的网站执行此操作?
- laravel - Laravel - 有两列的表,每列都有来自不同表的 ID
- python - 使用递归避免编写嵌套循环数等于层数?