gpt4 book ai didi

java - 使用Gauss-Legendre算法在java中逼近Pi

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

<分区>

刚开始学习 java 并尝试编写一段简单的代码来显示基于 Gauss-Legendre algorithm 的 Pi 的近似值。 ;我从下面的代码在命令行中得到的结果是 -33.343229... 这对我来说似乎很奇怪。我知道我的代码不完整,因为我对小数点后的位数没有限制,我打算尝试使用 BigDecimal 来获得。虽然在阅读文档后我不太明白我应该用它做什么!

有没有人知道我是否可以修复当前的任何错误以及如何对小数点后的位数实现限制?谢谢!

class calculatePi {
public static void main(String[] args) {
calculatePi x = new calculatePi();
double y = x.approxPi(3); //3 iterations
System.out.print(y);
}
double approxPi(int i) {
double a = 1; //The initial conditions for the iteration
double b = 1 / Math.sqrt(2);
double t = 1/4;
double p = 1;
double a1 = 0; //The internal n+1 terms for the iteration
double b1 = 0;
double t1 = 0;
double p1 = 0;
while (i > 0) {
a1 = (a + b) / 2;
b1 = Math.sqrt(a*b);
t1 = t - p*(a - a1)*(a - a1);
p1 = 2*p;
a = a1;
b = b1;
t = t1;
p = p1;
i = i - 1;
}
double applepie = ((a + b)*(a + b))/(4*t);
return applepie;
}

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