以下の計算を実行して結果を返すことができる関数が必要です。この統計式のeが何を意味するのかわかりません。その式をJavaコードに変換する方法がわかりません...それが問題です...具体的にはeパワーポイント....ポイントは、関数argとして渡す変数です
これは宿題ではありません。
Corbin が言ったように、Java では定数を として見つけることができますjava.lang.Math.E
。
しかし、おそらくメソッドを使用したいと思うでしょうMath.exp(Double d)
。
あなたの計算は次のとおりです。
ePoints = Math.exp(Points);
finalScore = 1000 * (ePoints/(1 + ePoints)) - 10;
以下を使用することで、より高い精度を実現できますが、オーバーフローのリスクが高くなります。
ePoints = Math.exp(Points);
finalScore = (1000 * ePoints)/(1 + ePoints) - 10;
e
定数です。その値は2.71828...
です。
e 数学定数を参照してください
それが既知の式であるかどうかはわかりませんが(おそらく科学パッケージに含まれている可能性があります)、これはうまくいくようです:
import static Math.pow
def finalScore(points) {
def e = Math.E
1000 * pow(e, points) / (1 + pow(e, points)) - 10
}
// lim when points -> 0 of finalScore(points) == 490
assert finalScore(0) == 490
// lim when points -> ∞ of finalScore(points) == 990
assert Math.abs(finalScore(50) - 990) < 0.001