Сдать решение b-улиточные бега
имя входного файла: snail.in или стандартный поток ввода
имя выходного файла: snail.out или стандартный поток вывода
ограничение времени: 1 с
ограничение памяти: 256m
улиточные бега
каждые 100 лет в стране улиток проводятся улиточные бега на дистанции l сантиметров. это станет для вас неожиданностью, но в этом столетии они проводятся именно сегодня!
в этом году организаторы приняли решение провести бега на новой трассе - прямоугольнике размера a × b сантиметров. согласно правилам, участники начнут бежать из нижнего левого угла прямоугольника против часовой стрелки в соответствии со схемой ниже:
к сожалению, организаторы забега не могут определить, на какой стороне трассы должен быть расположен финиш, чтобы участники пробежали ровно l сантиметров. напишите программу, которая определить сторону прямоугольника, на которой должна находиться точка финиша.
обратите внимание, что длина забега может быть больше периметра прямоугольника. в таком случае, участники должны будут пробежать несколько кругов прежде чем финишировать.
формат входных данных
вводятся три целых числа a, b, l (2 ≤ a, b ≤ 106, 1 ≤ l ≤ 1018) - длина и ширина прямоугольника и длина пути соответственно. гарантируется, что улитка не останавливается в углу прямоугольника.
формат результата
выведите top, если улитка остановится на верхней стороне прямоугольника, bottom - на нижней, left - на левой, right - на правой стороне прямоугольника.
примеры
входные данные
2
4
11
результат работы
left
входные данные
2
4
13
результат работы
bottom
примечания
обратите внимание, что в данной величина l превышает максимально возможное значение 32-битных типов данных. для работы с большими целыми числами в языке pascal предусмотрен тип int64, а в c++ - тип long long.
на любом языке программирования .
190
312
Ответы на вопрос:
program abc;
var a,b,l: int64;
begin
assign(input,'snail.in');
assign(output,'snail.out');
readln(a,b,l);
if (l div (a+b)) mod 2 = 0 then if (l mod (a+b))-a< 0 then writeln('bottom') else writeln('right')
else if (l mod (a+b))-a< 0 then writeln('top') else writeln('left')
end.
1)
var a,s:integer;
begin
readln(s);
writeln(‘Длина стороны = «‘ sqrt(s));
writeln(‘Длина диагонали = ‘, sqrt(s)*sqrt(2));
end.
2)
begin
readln(a,b);
writeln(‘Гипотенуза = ‘, sqrt((a*a)+(b*b)));
writeln(‘Площадь = ‘, (a*b)/2);
end.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
alleksees07.10.2020 09:26
-
oblasovsema05.05.2020 07:48
-
26080709897805.01.2023 01:35
-
00svetochka0013.07.2022 02:15
-
inybax19.03.2021 02:08
-
Нурсая1234524.07.2021 08:47
-
MRSAVVA09.08.2020 22:13
-
77749606.09.2021 11:58
-
vlad007g19.02.2022 10:02
-
stepura03229.06.2021 01:05
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.