Как сделать систему рекламных объявлений, показывающих равномерно?
Всем привет, подскажите, пожалуйста, с задачей:
Как сделать систему рекламных объявлений, чтобы они все показывались равномерно?
Пример: имею 5 рекламных объявлений, они все показываются в данный момент с помощью рандома, что не является честным.
Хочу сделать так, чтобы 5 рекламных объявлений показывались приблизительно одинаковое количество раз. Чтобы потом, если к ним добавить еще 1 рекламное объявление, то оно показывалось с такой же частотой, как и было, только уже поделённое на 6.
(то есть делать счётчик, который учитывает количество показов текущих - и на основе него показывать то, которое имеет наименьшее количество показов - не вариант, потому что при добавлении нового, 6-го объявления - оно будет показываться много раз подряд, пока не догонит предыдущие. Сбрасывать счётчик у всех объявлений при добавлении нового - тоже не вариант)
Все объявления равны по приоритету между собой.
Какие есть способы решения, как это гуглить, куда смотреть, и что я забыл упомянуть для вас?
Берем массив объявлений - (1, 2, 3).
Перемешиваем - (3, 1, 2).
Показываем по очереди, пока не покажем все - 3, 1, 2.
Переходим к п.1
Результат - в каждой итерации мы гарантированно покажем все объявления в случайном порядке.
При добавлении нового на новой итерации оно будет показано наравне со старыми.