次のシグネチャを持つ C++ の関数があります。
float Foo(float time, float min, float curr, float beta)
関数内で、次の式で MAX を決定して返したいと考えています。
time = beta + (1.0f - beta) * ((MAX - curr) / (MAX - min))
結果をテストするには、次の引数を使用できます。
Foo(0.95f, 625, 800, 0.75f)
1500 を返す必要があります。
紙の上では、MAX を決定するために必要な手順がありますが、それをコードで機能させる方法がわかりません。誰かがこの計算を実行するためのコードを提供できるなら、私は非常に感謝しています.
0.95 = 0.75 + (1 - 0.75) * ((max - 800) / (max - 625))
0.95 = 0.75 + 0.25 * ((max - 800) / (max - 625))
0.95 - 0.75 = 0.25 * ((max - 800) / (max - 625))
0.2 = 0.25 * ((max - 800) / (max - 625))
0.2 / 0.25 = (max - 800) / (max - 625)
0.8 = (max - 800) / (max - 625)
0.8 * (max - 625) = max - 800
(0.8 * max) - (0.8 * 625) = max - 800
(0.8 * max) - 500 = max - 800
((0.8 * max) - max) - 500 = -800
((0.8 * max) - max) = -800 + 500
((0.8 * max) - max) = -300
-0.2 * max = -300
max = -300 / -0.2
max = 1500