50 баллов за решение в Python Ваня наблюдает за лягушкой. Изначально она сидит в точке 0 числовой прямой. Каждую секунду она прыгает на 1 вправо, пока не достигнет точки K. Затем она начинает каждую секунду прыгать на 1 влево, пока не вернется в точку 0, затем – опять вправо и т. д. Требуется определить, где окажется лягушка через T секунд. Входные данные Вводятся два числа K и T, разделенные пробелом. Оба числа натуральные и не превосходят 1 000 000 000. Выходные данные Вывести одно число – координату лягушки в момент времени T.
Информатика 5 класс Циклы цикл числовая прямая координата остаток от деления условие Python информатика
Для решения задачи можно использовать следующий код на Python:
k, t = map(int, input().split())if t >= 2 * k: n = t - 2 * kelse: n = t % (2 * k)if n > k: n = 2 * k - nprint(n)
Этот код считывает два числа k
и t
с помощью функции map
и преобразует их в целые числа. Затем он проверяет, больше ли t
чем 2 * k
. Если да, то лягушка уже успела прыгнуть вправо и вернуться обратно, поэтому её координата равна t - 2 * k
.
Если t
меньше или равно 2 * k
, то лягушка ещё не успела прыгнуть вправо и вернуться обратно. В этом случае её координата равна остатку от деления t
на 2 * k
. Затем код проверяет, больше ли координата лягушки, чем k
. Если да, то она уже успела прыгнуть вправо, поэтому координату нужно уменьшить на k
.
В итоге программа выводит координату лягушки через t
секунд.
Пример работы программы:
10 34
Вывод:
6
Лягушка прыгает вправо на 1, пока не достигнет точки 10. Затем она начинает прыгать влево на 1, пока не вернётся в точку 0. После этого она снова прыгает вправо и оказывается в точке 6. Через 34 секунды лягушка будет в точке 6.