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

21 Авг 2019 в 06:30
302 +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 Апр 2024 в 13:17
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир