Ваня наблюдает за лягушкой. Изначально она сидит в точке 0 числовой прямой. Каждую секунду она прыгает на 1 вправо, пока не достигнет точки K. Затем она начинает каждую секунду прыгать на 1 влево, пока не вернется в точку 0, затем — опять вправо и т. д. Требуется определить, где окажется лягушка через T секунд.

5 Дек 2021 в 19:43
228 +1
1
Ответы
1

Для решения этой задачи можно воспользоваться формулами остаточного деления.

Предположим, что K > 0 (лягушка прыгает вправо) и T > 0 (время, через которое нужно определить местоположение лягушки).

После t секунд лягушка окажется в позиции X:
X = K (T // (2K)) + min(T % (2K), K) - max(0, T % (2K) - K)

где // обозначает целочисленное деление (без остатка).

Например, если K = 5 и T = 7, то лягушка окажется в позиции 3 через 7 секунд.

Если K < 0 (лягушка прыгает влево), то формула будет такой:
X = K ((T+K) // (2K)) + min(T % (2K), -K) - max(0, T % (2K) - K)

Если T < 0 (лягушка прыгает в обратном направлении), знак T меняется на противоположный и используется формула выше.

Таким образом, можно легко определить, где окажется лягушка через T секунд.

17 Апр 2024 в 08:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир