Обратный расчет sqrt ()

Я делаю онлайн RPG-игру, в которой я использую эту математическую формулу (найдена в Интернете) для вычисления exp -> level.

$level = (25 + sqrt(625 + 100 * $exp)) / 50;

В течение нескольких дней я пытался сделать сценарий, чтобы изменить его.
Моя цель — сделать функцию для расчета количества опыта, необходимого для уровня.

3

Решение

Перестановка и немного факторизации,

$exp = 25 * $level * ($level - 1)

2

Другие решения

Оказывается, можно еще больше упростить:

$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
3

$exp = ((((50 * $level) - 25)**2) - 625)/100
0

$exp = (pow(50 * $level - 25, 2) - 625) / 100;
0
По вопросам рекламы [email protected]