Как узнать уровень пользователя? Здравствуйте.
Хочу на сайте сделать уровневую систему для пользователей.
Первый уровень начинается со 100 единиц опыта, следующий уровень прибавляется +10% от предыдущего.
1 уровень = 100опыта
2 уровень = 110 опыта
3 уровень = 121 опыта
и т.д.
У меня есть из данных только сумма опыта, например 2500 опыта, как вычесть на PHP какой это будет уровень? Получается, что это сумма первых n членов геометрической последовательности с началом 100 и множителем 1.1.
Не ругайтесь, пока я даже представить не могу как это сделать.

21 Авг 2019 в 06:04
125 +1
0
Ответы
1

Не волнуйтесь, я помогу вам с этим! Для вычисления уровня пользователя вам нужно решить уравнение для n, где n - это номер уровня.

Для начала найдем формулу для суммы первых n членов геометрической прогрессии: S = a1 * (1 - q^n) / (1 - q), где S - сумма, a1 - первый член прогрессии, q - множитель прогрессии.

У нас a1 = 100, q = 1.1, и нам известна сумма опыта - 2500. Подставляем и находим уравнение:

2500 = 100 * (1 - 1.1^n) / (1 - 1.1)

Упрощаем уравнение и находим n, который и будет номером уровня пользователя. Для этого нужно использовать методы численного решения уравнений, например, метод Ньютона или бинарный поиск. Вот пример кода на PHP с использованием метода бинарного поиска:

function findLevel($exp) {
$a1 = 100;
$q = 1.1;
$left = 0;
$right = 1000; // можно увеличить, если нужно больше уровней
while ($right - $left > 1e-6) {
$mid = ($left + $right) / 2;
$currentExp = $a1 * (1 - pow($q, $mid)) / (1 - $q);
if ($currentExp < $exp) {
$left = $mid;
} else {
$right = $mid;
}
}
return round($left);
}
$exp = 2500;
$level = findLevel($exp);
echo "Уровень пользователя: " . $level;

Этот код поможет вам вычислить уровень пользователя на основе его суммы опыта. Надеюсь, это поможет вам в реализации уровневой системы на вашем сайте! Если у вас есть другие вопросы, не стесняйтесь задавать.

20 Апр в 13:24
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 94 888 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир