gpt4 book ai didi

java - 无穷大误差 - 欧拉计划 #26 - 倒数循环

转载 作者:行者123 更新时间:2023-12-02 07:16:07 26 4
gpt4 key购买 nike

当我尝试解决 Project Euler 的问题 # 26 时,我在 Eclipse 中收到错误。

我不想要解决方案!请。

如果你能给我一个建议,只是关于为什么我收到“无穷大”作为输出,请填写我。我已经尝试过谷歌搜索这个,但很难不意外地看到解决方案,我宁愿这样做尽可能少的帮助。

无穷大误差出现在 p=309 之后。这可能根本不是一个“错误”,也许只是截断了一些东西。我尝试过 long 和 BigInteger,但似乎没有帮助。

这是 PE # 26 中提出的问题:

这是我的代码:

public class Reciprocal_Cycles {

public static void main(String[] args) {
double b = 10;
double p;
for (p = 1; p < 1000; p++) {
if (p % b != 0)

System.out.println(((Math.pow(b, p - 1) - 1)) / p + " " + p);
}
}
}

最佳答案

The infinity error is after p=309.

double 可以表示的最大数字约为 1.8e+308,而 Math.pow(10, 309) 更大比这个。当浮点计算像这样溢出时,您会得到+inf

此外,在将 p % b != 0 与浮点变量一起使用时我会小心。

关于java - 无穷大误差 - 欧拉计划 #26 - 倒数循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14931698/

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