
Задача 5: Поезд Два друга-биолога Василий и Петр едут в Африку на поезде. Билеты они покупали в
разное время и не смогли получить места в одном вагоне. Василий купил билет на место с номером X, а Петр — на место с номером Y. Все поезда в структуре РЖД комплектуются вагонами с одинаковым числом посадочных мест, равным K. Нумерация мест сквозная: в первом вагоне расположены места с номерами от 1 до K, во втором вагоне — места с номерами от K + 1 до 2K, и так далее. Помогите Василию посчитать, сколько раз он должен перейти из одного вагона в соседний для встречи с Петром. Входные данные В первой строке входных данных записано целое число K (1 ≤ K ≤ 109) — число посадочных мест в каждом вагоне. Во второй строке записано целое число X — номер места Василия. В третьей строке записано целое число Y (1 ≤ X < Y ≤ 109) — номер места Петра. Выходные данные Выведите одно целое число — количество переходов Василия из одного вагона в соседний. Система оценки Решения, работающие при K = 1 будут набирать не менее 12 баллов. Решения, работающие при K ≤ 2, будут набирать не менее 28 баллов. Решения, работающие, когда все числа не превосходят 100, будут набирать не менее 24 баллов.

Ответы на вопрос

Ответ:
k = int(input())
x = int(input())
y = int(input())
res = 0
n1 = x // k
if x % k > 0:
n1 += 1
n2 = y // k
if y % k >0:
n2 += 1
if n1>=n2:
res = n1-n2
else:
res = n2-n1
print(res)
ЯЗЫК PYTHON 3



Для решения этой задачи нам необходимо определить, в каких вагонах находятся Василий и Петр, и вычислить количество переходов между вагонами.
Заметим, что если место Василия и место Петра находятся в одном и том же вагоне, то Василию не нужно делать никаких переходов. В противном случае, мы должны вычислить номера вагонов для Василия и Петра.
Для нахождения номера вагона по номеру места, нам нужно разделить номер места на количество посадочных мест в каждом вагоне K и округлить результат вверх до ближайшего целого числа.
Таким образом, номер вагона для Василия будет равен ceil(X / K), а для Петра - ceil(Y / K), где ceil() обозначает округление вверх.
Количество переходов Василия из одного вагона в соседний будет равно разности между номерами вагонов Василия и Петра минус один.
Вот пример кода на Python, решающего данную задачу:
pythonimport math
K = int(input())
X = int(input())
Y = int(input())
Vasiliy_wagon = math.ceil(X / K)
Petr_wagon = math.ceil(Y / K)
transitions = abs(Vasiliy_wagon - Petr_wagon) - 1
print(transitions)
При вводе значений K=1, X=3, Y=7 вывод будет равен 3, что означает, что Василий должен сделать 3 перехода из одного вагона в соседний, чтобы встретиться с Петром.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili