На следующий день, будучи на своей остановке, Петя снова сел в автобус, который ездит по кольцевому маршруту через
На следующий день, будучи на своей остановке, Петя снова сел в автобус, который ездит по кольцевому маршруту через N остановок, и тут же заснул. Когда он проснулся после проезда X остановок, он хотел узнать, что будет быстрее: выйти и вернуться обратно или продолжить ехать по кольцу в ту же сторону. Напишите программу, которая считывает значения N и X, а затем определяет и выводит минимальное количество остановок, которые Пете нужно будет проехать еще, чтобы вернуться домой, вне зависимости от направления (прямо или обратно). Входные данные Выходные данные 9 21 3 9
Золотой_Король 70
Для решения данной задачи нам понадобится найти остаток от деления числа X на количество остановок N. Если этот остаток больше N/2, то Пете будет выгоднее продолжить движение в том же направлении, иначе ему выгоднее выйти и вернуться обратно.Рассмотрим первый случай, когда остаток от деления X на N больше N/2. В этом случае Пете будет выгоднее продолжить ехать по кольцу в том же направлении. Нам нужно найти количество остановок, которые Пете осталось проехать до дома. Это можно сделать, вычтя из общего количества остановок N остаток от деления X на N и добавив 1, так как Петя уже проехал одну остановку после пробуждения. Таким образом, минимальное количество остановок, которые нужно проехать Пете, чтобы вернуться домой, равно N - (X mod N) + 1.
Теперь рассмотрим случай, когда остаток от деления X на N меньше или равен N/2. В этом случае Пете будет выгоднее выйти и вернуться обратно. Нам нужно найти количество остановок, которые Петя должен будет проехать для этого. Это можно сделать, вычтя из общего количества остановок N остаток от деления X на N. Таким образом, минимальное количество остановок, которые нужно проехать Пете, чтобы вернуться домой, равно N - (X mod N).
Давайте напишем программу для решения данной задачи:
При вводе входных данных N = 9 и X = 21, программа выведет:
Таким образом, Пете осталось проехать 8 остановок, чтобы вернуться домой, вне зависимости от направления движения.