gpt4 book ai didi

java - 需要帮助将这个等式移植到 java

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:29:58 26 4
gpt4 key购买 nike

我正在尝试制作一个程序来计算游戏中达到等级所需的分数,并且该方程式在我的计算器上运行良好,但当我尝试将其更改为使用 Java 时却不行。等式是 5,000/3 * (4n^3 - 3n^2 - n) + 1.25 * 1.8^(n - 60) 例如第 49 级,你的总分应该是 772240000 分计算器给出了这个答案,但我的 java 程序没有。这是我试过的代码。

for (int i = 0; i <= 100; i++) {
double score = (double) ((5000 / 3) * (Math.pow(4 * i, 3) - Math.pow(3 * i, 2) - i) + (1.25 * Math.pow(1.8, i - 60)));
System.out.println("Level " + i + " requires " + (long) score);
}

这似乎不能正常工作,并给出 12513130000 作为 49 级所需的点数。如果有人可以让它工作,你能解释一下我做错了什么吗。

最佳答案

你弄乱了你的 Math.pow 调用,但你可以完全避免其中的一些调用:

double score = (double) ((5000 / 3) * (4 * i * i * i - 3 * i * i - i) + (1.25 * Math.pow(1.8, i - 60)));

这是错误的地方:Math.pow(4 * i, 3) 实际上是 (4i)^3不是 4(i^3)。要执行后者,您需要具备以下条件:

4 * Math.pow(i, 3)

我不完全确定整数除法部分(您正在将其转换为double),但您可能需要更改5000/35000.0/3

关于java - 需要帮助将这个等式移植到 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18243126/

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