Следует разработать алгоритм розыгрыша на PHP. Требуется одна функция которая возвращает TRUE / FALSE. Задача: есть общее количество призовых мест - prize_count_all, INT. Есть количество оставшихся призовых мест - prize_count_current, INT. Есть количество участников members_count_all, INT. И есть количество оставшихся участников (те, среди которых еще не было проверки выиграли или нет) members_count_current, INT.
Необходима функция, в которую передаются необходимые из выше доступных параметров. Которая возвратит значение ВЫИГРАЛ или ПРОИГРАЛ конкретный пользователь, но при этом возможность выигрыша надо распределить "равномерно". Т.е. чем меньше members_count_current и больше prize_count_current тем вероятность выигрыша выше. Обязательное условие, все prize_count_all должны быть разыграны. Но условие в стиле return (mt_rand(0,1) OR (prize_count_current>=members_count_current)) ? TRUE : FALSE; Не катит, обязательно должен рассчитываться и учитываться коэффициент вероятности при конкретных услови...
Видеть полную информацию и оставлять заявки могут только авторизованные пользователи.
Исполнитель по этому заданию выбран.
Заявок нет
Оставлять заявки могут только авторизованные пользователи.
Алгоритм розыгрыша
Реклама
Алгоритм розыгрыша
Следует разработать алгоритм розыгрыша на PHP. Требуется одна функция которая возвращает TRUE / FALSE.
Задача: есть общее количество призовых мест - prize_count_all, INT. Есть количество оставшихся призовых мест - prize_count_current, INT.
Есть количество участников members_count_all, INT. И есть количество оставшихся участников (те, среди которых еще не было проверки выиграли или нет) members_count_current, INT.
Необходима функция, в которую передаются необходимые из выше доступных параметров. Которая возвратит значение ВЫИГРАЛ или ПРОИГРАЛ конкретный пользователь, но при этом возможность выигрыша надо распределить "равномерно". Т.е. чем меньше members_count_current и больше prize_count_current тем вероятность выигрыша выше. Обязательное условие, все prize_count_all должны быть разыграны.
Но условие в стиле return (mt_rand(0,1) OR (prize_count_current>=members_count_current)) ? TRUE : FALSE; Не катит, обязательно должен рассчитываться и учитываться коэффициент вероятности при конкретных услови...