Предмет: Информатика, автор: Аноним

50 баллов C++
Лягушка

Имя входного файла:
Имя выходного файла:
Ограничение по времени:
Ограничение по памяти:

standard input
standard output
1 секунда
64 мегабайта

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

Формат выходных данных
Выведи одно число — координату лягушки на прямой в момент времени T.
standard input
5 8
standard output
2

Ответы

Автор ответа: kombat1488
1

#include <iostream>

using namespace std;

int main()

{

int k,t,f;

cin>>k>>t;

if (((t /k) % 2)==0)

f=t % k;

else

f=k -(t % k) ;

cout<<f;

return 0;

}

Пояснения:

С помощью t/k узнаём, какой по номеру обход делает лягушка.

На нечетных обходах лягушка находится в точке, координата которой равна разности максимальной координаты и остатка от деления времени на максимальную координату.

На четных обходах лягушка находиться в точке, координата которой равна остатку от деления времени на максимальрую координату.

То есть чётность/нечётность обхода показывает нам направление, в котором двигается лягушка.

P. S.

Можешь на линейке в числа пальцем потыкать - работает, сам проверял :)

Похожие вопросы
Предмет: Русский язык, автор: milanadzangieva