Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

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

Андрей Косарев Профи (853), закрыт 4 года назад
Входные данные
Входная строка содержит два вещественных числа – координаты точки на плоскости (сначала x -координата, затем – y -координата).

Выходные данные
Программа должна вывести слово 'YES', если точка попала в заштрихованную область, и слово 'NO', если не попала.
Дополнен 4 года назад
В виде паскаля пожалуйста
Лучший ответ
Николай Мудрец (13903) 4 года назад
Попробуй так:

Readln(x,y);
If (y<(2-x*x))and((y>x)or((y>0)and(x>0))) then Writeln('yes') else Writeln('no');
Андрей КосаревПрофи (853) 4 года назад
ты просто гений. Спасибо
Остальные ответы
inga zajonc Искусственный Интеллект (185380) 4 года назад
Рассмотрим сначала прямую.
Точка лежит выше неё если
y-x >= 0;(1)
Для кривой точка ниже неё если
y+x*x =< 2;(2)
Отсюда просто:
if (y-x) >= 0 and (y+x*x) <= 2 then writeln('yes') else writeln('no');
Конечно при х>0 в область попадают все точки с y>0, удовлетворяющие условию (2), но как выдержать и это условие думай уже сам. (Решается всё равно в одну строку, просто она будет несколько длиннее)
Похожие вопросы