Сегодня спрашивал в своей подгруппе, кто играет в Покемон Го: отозвался, кажется, один человек, что повергло меня в глубокое уныние. И я решил предложить студентам первого курса такую задачу на операцию div
.
Развитие каждого покемона описывается одной из двух стадий: базовой или продвинутой. Можно переходить из базовой стадии в продвинутую, если собрать определённое количество конфет. Переход происходит не сразу, а когда этого пожелает игрок. При этом во время совершения перехода одну конфету возвращают обратно. Предположим, что игрок накопил C
конфет и собирается развивать покемонов базовой стадии, которым для этого требуется по E
конфет каждому. Считая, что запас покемонов базовой стадии не ограничен, требуется составить программу для вычисления количества покемонов, которые будут развиты до продвинутой стадии при заданных C
и E
.
Пример. Для развития покемона Пиджи (базовая стадия) в Пиджеотто (продвинутая стадия) требуется 12 конфет. Игрок собрал
- 23 конфеты — ответ: 2 покемона,
- 22 конфеты — ответ: 1 покемон.
23 конфеты хватает для двоих потому, что после развития одну конфету возвращают и реальная цена этого развития равна 11. После этого остаётся 12 конфет, их достаточно для развития ещё одного покемона. При этом после развития одна конфета останется лишней (для будущих развитий). В случае с 22-мя конфетами после первого развития остаётся 11 конфет, которых уже недостаточно для второго развития, потому правильный ответ: только один покемон пройдёт развитие.
Ограничение. В решении разрешается использовать только целочисленные операции и вспомогательные переменные. В частности, запрещены условный оператор и операторы цикла.
Замечание. Моё описание несколько упрощено по сравнению с реальной игрой.