gpt4 book ai didi

Java:编写 Wallis 产品代码以查找 pi

转载 作者:行者123 更新时间:2023-11-30 08:07:29 25 4
gpt4 key购买 nike

我正在尝试使用 Wallis 乘积公式编写代码来输出 pi:https://en.wikipedia.org/wiki/Wallis_product

这是我的代码:

public class PI {
public static void main(String[] args) {
pI();
}

public static void pI () {

double pi = 0;
int a = 0;
int b = 1;
double denom = 0;
double num = 0;
int temp = 0;
int count = 0;
double halfpi = 1;


while(true) {
temp = b;
b = temp + 2;
denom = temp*b;

a += 2;
num = a*a;

halfpi *= (num/denom);
count++;

System.out.println(halfpi*2);
}
}
}

我发现在循环超过大约 33000 次迭代之前,代码工作正常。在这一点之后它只是打印:“-0.0”:

-0.0
-0.0
-0.0
-0.0
-0.0
...

----jGRASP: process ended by user.

这可能是什么原因造成的?

最佳答案

问题是因为您混合了 INT 和 double 。您的代码不会产生任何错误,因为这种类型的乘法很好,但是当您分配整数然后尝试将它们分配回 double 值时,您将丢失除小数点前的整数值之外的所有内容。

double pi = 0;
double a = 0;
double b = 1;
double denom = 0;
double num = 0;
double temp = 0;
double count = 0;
double halfpi = 1;

关于Java:编写 Wallis 产品代码以查找 pi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33680905/

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