c++ - 在 C 中计算 PI 最有效的方法是什么?

标签 c++ c math pi

我必须编写一个C程序,它的作用是接受一个整数作为输入。并给出输入的小数点后的 PI 数的输出。就像输入是100,输出将是9(pi的第100位,小数后是9)。 最好的算法是什么?

p.s 我不想将 pi 的值保存到字符串中,那就这样做吧。

最佳答案

您的问题更多的是数学问题,而不是 C 编程问题(所以可能偏离主题)。首先阅读维基页面PiApproximations of π

如果你只需要计算几百(甚至几十万)位数字,你只需要使用一些算法并使用一些 bignum 进行编码。库(例如 GMPlib ,其中 mpfr_const_pîchtz 评论)。

对于数十亿位数,事情变得有趣。我不是 Pi 专家,但请查看 Fabrice Bellard work就可以了(阅读 technical notes 提到 Chudnovsky's algorithm )。

关于c++ - 在 C 中计算 PI 最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43672205/

相关文章:

c++ - 将 boost::multiprecision 实数转换为整数

C++:具有未知删除器的 unique_ptr

c++ - 缺少分号的 Bison C++ 多重错误恢复

c++ - 在每个系统日志 C++ 之前调用 openlog

c++ - 对 fstream 和指针感到困惑

c - 如何使用 execl() 函数通过 cut 命令运行我的标准输入?

c - 在 c 中使用 Pipe() 卡在 read() 上的程序

math - 求解包含二 Gamma 函数的方程组的最有效方法是什么?

c++ - 生成具有一个未知数的线性方程 (c++)

math - 为什么这些稍微不同的寻根方法会产生不同的结果?