Как выстроить последовательность повторов в зависимости от процентов?

Помогите, туплю.
Речь про радиостанцию.
Входные данные:
X - общее количество эфиров (изменяемая величина)
Y - % ротации песни в X (изменяемая величина)

нужно составить плейлист с учетом % ротации каждой песни, причем распределить надо равномерно.
В итоге хочется получить функцию, к примеру на входе которой X = 4, Y = 50, возвращала {1: True, 2: False, 3: True, 4: False} т.е. при 50% процентной ротации песня попадает в каждый второй эфир.
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Эфирная загрузка: L=(Y/100*X)/X=2/4=0.5
Распределение:
last=0;
flags=array();
for (i=1; i<=X;i++)
  if ((i*L-last)>=1) {
                       last=i*L; 
                           array_push(flags,true);
} else array_push(flags,false);

(код на PHP)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Mintormo
Знакомая задачка. Похожая предлагалась, кстати, на очном этапе отбора в школу программистов HeadHunter в 2014 году ;) Почитайте тут. Комментарии почитать тоже не забудьте. Там тоже вроде полезные решения есть.

Обновлено.
Особо советую попробовать решение в самом последнем комментарии внизу по ссылке.
Ответ написан
Ваш ответ на вопрос

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

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