gpt4 book ai didi

java - 生成pi到第n位java

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:45:41 27 4
gpt4 key购买 nike

我想知道如何生成第 n 位的圆周率。我有几个基本想法。

  1. 使用 Math.PI 并提高精度(如果可能的话)
  2. 使用欧拉公式生成圆周率,但即使在这里,我也需要提高精度(我认为) Euler's formula for PI
  3. 还有 Srinivasa Ramanujan 的 PI 生成公式,该公式以收敛速度快着称。这个公式似乎很难实现。我相信,我还必须在这里提高 deicmal 精度。
    enter image description here

所以简而言之,无论哪种方式,我都需要根据第 n 个数字是多少来提高 BigDecimal 的精度。我将如何着手将 BigDecimal 的精度提高到第 n 个数字?另外,如果有更好更快的方法,请指出正确的方向。

编辑:我只想生成 PI。我不想用于计算。这是一个关于如何使用 BigDecimal 来实现我生成 PI 的想法的问题。

最佳答案

  • Math.PIdouble 类型。这意味着大约 15 位十进制数字的精度,这就是您拥有的所有数据;没有什么能神奇地让 PI 的额外数字出现。
  • BigDecimal 具有任意精度。 setScale() 允许您创建具有任意精度的 BigDecimal 对象,大多数算术方法会根据需要自动提高精度,当然精度越高,所有计算都会越慢。
  • 具有讽刺意味的是,实现 Ramanujan 公式最困难的部分是常数因子中的 sqrt(2),因为 BigDecimal 没有内置的 sqrt(),因此您必须自己写。

关于java - 生成pi到第n位java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8370290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com