私はオンラインRPGゲームを作っています。このRPGゲームでは、計算式(オンラインで見つけたもの)を使って計算 - >レベルを計算します。sqrt()の逆計算
$level = (25 + sqrt(625 + 100 * $exp))/50;
私はそれを逆にするスクリプトを作成しようとしました。 私の目標は、あるレベルに必要なexpの量を計算する関数を作ることです。再配置と因数分解のビットで
私はオンラインRPGゲームを作っています。このRPGゲームでは、計算式(オンラインで見つけたもの)を使って計算 - >レベルを計算します。sqrt()の逆計算
$level = (25 + sqrt(625 + 100 * $exp))/50;
私はそれを逆にするスクリプトを作成しようとしました。 私の目標は、あるレベルに必要なexpの量を計算する関数を作ることです。再配置と因数分解のビットで
$exp = ((((50 * $level) - 25)**2) - 625)/100
$exp = (pow(50 * $level - 25, 2) - 625)/100;
それがさらに簡素化することが可能ですが判明:
$exp = 25*($level*$level - $level);
導出:
l=(25 + sqrt(625 + 100e))/50
50l=25 + sqrt(625 + 100e)
50l-25=sqrt(625 + 100e)
(50l-25)^2=625 + 100e
(25*(2l-1))^2=625 + 100e
625*((2l-1))^2=625 + 100e
625*((2l-1))^2 - 625= 100e
625*((2l-1)^2 - 1) = 100e
625*((2l-1)^2 - 1)/100 = e
125*((2l-1)^2 - 1)/20 = e
25*((2l-1)^2 - 1)/4 = e
25*(4l^2-4l + 1- 1)/4 = e
25*(4l^2-4l)/4 = e
25*(l^2-l) = e
Ha。よくやった。 Upvoted。 – Bathsheba
よくsqrtはpowの反対です。 – rak007
@ rak007:これは実装が貧弱です。これは非常にうまくいきます。 – Bathsheba