Предмет: Информатика,
автор: Аноним
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
Ответы
Автор ответа:
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
Предмет: Русский язык,
автор: 24112005
Предмет: Русский язык,
автор: natalm1983
Предмет: Физика,
автор: WhiteWerwolf
Предмет: Литература,
автор: 42Марина20061