Задача про Рождественскую распродажу
#конкурс
Для участия в конкурсе, необходимо решить следующую задачу:
Вы хотите купить несколько игр на свой телефон, чтобы поиграть в предстоящие новогодние праздники.
Обычно все игры продаются по одной и той же цене в R рублях. Однако, впереди праздники и Google Play хочет провести Рождественскую распродажу! Поэтому, вы сможете купить игры по более низкой цене.
Условия распродажи такие. Первая игра продается по цене R. Но каждая следующая покупка обойдется на D рублей дешевле, чем предыдущая. Вы будете покупать игры, пока цена игры не станет равна минимальным M-рублей. После этого, каждая игра будет стоить M-рублей.
В вашем кошельке находится N-рублей, поэтому выходить за рамки этой суммы вы не можете. Сколько игры вы сможете купить на распродаже?
Входные данные
Строка с данными R, D, M и N.
Выходные данные
Количество игр, которое можно купить.
Ограничения
1 <= M <= R <=100
1 <= D <=100
1 <= N <= 10^4
Пример входных данных
20 3 6 85
Пример выходных данных
7
Объяснение
Первоначальная цена игры R=20. Каждая следующая покупка обходится на D=3 рубля дешевле, чем предыдущая. Минимальная цена игры M=6. В кошельке у пользователя N=85.
20 + 17 + 14 + 11 + 8 + 6 + 6 = 82.
Количество игр = 7.
Шаблоны на языке Kotlin и Java.
Условия конкурса
1. Решения принимаются в течении 24 часов. Необходимо отправить только тело функции.
2. Отправлять можно только одно решение.
3. Можно исправлять отправленное решение неограниченное количество раз. Принятым будет считаться решение, отправленное последним.
4. Победителем будет являться самая короткая функция gamesCount().
5. В подсчете количества символов считается только тело функции. Например, в примере return 0; количество символов равняется 9. Это и определяет длину решения.
6. Переименовывать функцию нельзя, как и изменять входные параметры. В Kotlin убирать return также запрещается.
7. Требований к форматированию нет, важно рабочее решение. Можно убирать пробелы между переменными и писать код в одну строку, если это не нарушит работоспособность решения.
8. В случае одинаковых по длине решений в каждом из языков, победитель будет выбран рандомно, а запись в выбором победителя будет опубликована на канале.
О призе рассказывал раньше. Это книга Егора Бугаенко «Elegant Objects». Канал автора — @yegor256news.
Отправить решение нужно сюда. Всем удачи!
#конкурс
Для участия в конкурсе, необходимо решить следующую задачу:
Вы хотите купить несколько игр на свой телефон, чтобы поиграть в предстоящие новогодние праздники.
Обычно все игры продаются по одной и той же цене в R рублях. Однако, впереди праздники и Google Play хочет провести Рождественскую распродажу! Поэтому, вы сможете купить игры по более низкой цене.
Условия распродажи такие. Первая игра продается по цене R. Но каждая следующая покупка обойдется на D рублей дешевле, чем предыдущая. Вы будете покупать игры, пока цена игры не станет равна минимальным M-рублей. После этого, каждая игра будет стоить M-рублей.
В вашем кошельке находится N-рублей, поэтому выходить за рамки этой суммы вы не можете. Сколько игры вы сможете купить на распродаже?
Входные данные
Строка с данными R, D, M и N.
Выходные данные
Количество игр, которое можно купить.
Ограничения
1 <= M <= R <=100
1 <= D <=100
1 <= N <= 10^4
Пример входных данных
20 3 6 85
Пример выходных данных
7
Объяснение
Первоначальная цена игры R=20. Каждая следующая покупка обходится на D=3 рубля дешевле, чем предыдущая. Минимальная цена игры M=6. В кошельке у пользователя N=85.
20 + 17 + 14 + 11 + 8 + 6 + 6 = 82.
Количество игр = 7.
Шаблоны на языке Kotlin и Java.
Условия конкурса
1. Решения принимаются в течении 24 часов. Необходимо отправить только тело функции.
2. Отправлять можно только одно решение.
3. Можно исправлять отправленное решение неограниченное количество раз. Принятым будет считаться решение, отправленное последним.
4. Победителем будет являться самая короткая функция gamesCount().
5. В подсчете количества символов считается только тело функции. Например, в примере return 0; количество символов равняется 9. Это и определяет длину решения.
6. Переименовывать функцию нельзя, как и изменять входные параметры. В Kotlin убирать return также запрещается.
7. Требований к форматированию нет, важно рабочее решение. Можно убирать пробелы между переменными и писать код в одну строку, если это не нарушит работоспособность решения.
8. В случае одинаковых по длине решений в каждом из языков, победитель будет выбран рандомно, а запись в выбором победителя будет опубликована на канале.
О призе рассказывал раньше. Это книга Егора Бугаенко «Elegant Objects». Канал автора — @yegor256news.
Отправить решение нужно сюда. Всем удачи!