


Нужно определить победителей розыгрыша по формуле
Розыгрыш призов III категории происходит по формуле:
S=(N-Wt)/C
Где,
S - шаг, с которым выбирается победитель
N - количество пользователей, оставивших ключевое слов в чате в момент розыгрыша
Wt - количество пользователей, получивших приз III категории (среди розыгрышей всех стримеров) и среди пользователей, оставивших ключевое слово.
C - первые два символа случайного числа (если они равняются 00, то приравниваются к 01). Если это первый розыгрыш в день, то берём первую строчку в день, если второй, то вторую и т.д.
Пример: В момент розыгрыша в чате оставили сообщения 383 пользователя. 12 из них уже получили приз III категории. Это первый розыгрыш на сегодня и дробное значение курса австралийского доллара равно 4808. Берём от него первые два знака.
S=(383-12)/48
S=7,73, производим арифметическое округление и получаем 8.
Вручение призов начинается с пользователя, чей идентификационный номер равен 8, следующий победитель будет иметь идентификационный номер 16, дальнейший ряд 24, 32, 40, 48…376, после чего следующим победителем будет пользователь с номером 1, потом 9 и так далее. Предположим, что пользователь с номером 9 уже получал приз III категории, тогда этот приз переходит на следующего по порядку пользователя(№10), и мы должны будем сделать следующие шаги от этого пользователя - 18, 24....
Розыгрыш призов I и II категории происходит по формуле:
S=((N-Wd):Cf)*Ct
Где,
S - шаг с которым выбирается победитель
N - количество пользователей оставивших ключевое слов в чате в момент розыгрыша
Wd - количество пользователей получивших приз I или II категории(среди розыгрышей всех стримеров), среди пользователей оставивших ключевое слово.
Cf - первые два символа случайного числа, если они равняются 00, то приравниваются к 01.
Ct - вторые два числа дробной части, если они равняются 00, то приравниваются к 01. Если это первый розыгрыш в день, то берём первую строчку в день, если второй, то вторую и т.д
Пример: В момент розыгрыша в чате оставили сообщения 477 пользователя. 2 из них уже получили приз II категории. Это второй розыгрыш на сегодня и сотые значения курса азербайджанских манат равно 1106.
S=(477-2):11*6
S=259,09, производим арифметическое округление и получаем 259.
Получается, что приз должен быть вручен пользователю с порядковым номером 259, но этот пользователь уже имеет приз II категории и приз переходит пользователю с порядковым номером 260, а следующий приз перейдет пользователю 42(260+259 больше 477, следовательно победитель определяется как, 260+259 - 477=42).
Задание:
Разыгрывается 10 призов II категории
Всего пользователей оставивших сообщение 542
Это третий розыгрыш на сегодня. Необходимо определить победителей. Всего получили призы I и II категории 12 человек (их номера - 10, 46, 154, 167, 214, 260, 308, 344, 389, 402, 404, 451). Ответ надо вставить одной строкой, через запятую, в порядке выпадения победителей. Например: 10, 12, 123
Курс валют:
Доллар 51,6595
Манат 40,4042
Драмы 20,1514
Рубль 27,2300
Лев 43,1352
Ку, в телеге разобрал, если интересно
Реши задание самостоятельно.
Определяй, если нужно. Мне не нужно.