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