Задать вопрос
@vendelieu

Как рандомно разбросать, ограниченное в день, количество событий по времени("счастливым часам")?

Есть события.
Их нужно раскидать по $A кол-ву(макс. кол-во в день), создать так называемый план событий на n количество дней, или пока не закончатся количество входящих событий.
Чтоб в течении дня, рандомно чтобы они выпадали на так называемые счастливые часы.

Часы - количество в процентном соотношении.
8-11 - 25%
12-16 - 35%
17-23 - 40%

Помогите, расскажите как можно это реализовать....
  • Вопрос задан
  • 315 просмотров
Подписаться 2 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@VisualIdeas
Генерация дискретной случайной величины (вроде правильно назвал)
Я бы сделал как-то. так:
$array=array(
'8,9,10,11' => 25,
'12,13,14,15,16' => 35,
'8,9,10,11' => 40
);

// . Для каждого дня:
$rand=mt_rand(0,99);
$sum=0;
foreach($array as $key=>$value) {
    if (($rand>=$sum)&&($rand<($sum + $value))) {
        // Временной промежуток этот $value
        // Если надо снова случайный час, то
       $hour = explode(',',$key);
       shuffle($hour);
       $hour = array_shift($hour);
       // $hour - определеный час
       break;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы