Как рандомно разбросать, ограниченное в день, количество событий по времени("счастливым часам")? Есть события.
Их нужно раскидать по $A кол-ву(макс. кол-во в день), создать так называемый план событий на n количество дней, или пока не закончатся количество входящих событий.
Чтоб в течении дня, рандомно чтобы они выпадали на так называемые счастливые часы.
Часы - количество в процентном соотношении.
8-11 - 25%
12-16 - 35%
17-23 - 40%
Помогите, расскажите как можно это реализовать....

21 Авг 2019 в 06:30
280 +1
0
Ответы
1

Для реализации данной задачи можно использовать следующий алгоритм:

Создать список всех событий, которые нужно распределить по времени.

Создать список возможных "счастливых часов" с соответствующими процентами: [8, 9, 10, 11] - 25%, [12, 13, 14, 15, 16] - 35%, [17, 18, 19, 20, 21, 22, 23] - 40%.

Пока список событий не будет пустым, выполнять следующие шаги:

3.1. Выбрать случайное событие из списка событий.

3.2. Выбрать случайный "счастливый час" из соответствующего списка, используя соответствующий процент.

3.3. Добавить событие в план на этот "счастливый час" и удалить его из списка событий.

Повторять шаг 3, пока список событий не станет пустым.

Таким образом, события будут равномерно распределены по "счастливым часам" с учетом заданных процентов.

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