Вводятся координаты (x;y) точки и радиус круга (r). Определить принадлежит ли данная точка кругу, если его центр находится в начале координат.
Будем считать, что точка принадлежит кругу, если находится внутри его или на его окружности.
Из любой точки координатной плоскости можно провести отрезок к началу координат. Если длина этого отрезка больше радиуса круга, то точка лежит за пределами круга и, следовательно, не принадлежит ему. Если же отрезок, соединяющий точку и начало координат, меньше радиуса круга с центром в начале координат или равен ему, то точка будет принадлежать кругу.
Если данное уравнение не имеет корней, выведите число 0. Если уравнение имеет один корень, выведите число 1, а затем этот корень. Если уравнение имеет два корня, выведите число 2, а затем два корня в порядке возрастания. Если уравнение имеет бесконечно много корней, выведите число 3. program gt; var a,b,c,d,x1,x2,s:real;label 1,2; begin read(a,b,c); if ((a=0)and(b=0)and(c<>0)) then writeln(0); if(a=0)and(b=0)and(c=0)then writeln(3); if(a<>0)and(b<>0)and(c<>0)then begin d:=b*b-4*a*c; if (d<0)or((a=0)and(b=0)and(c<>0)) then writeln(0); if d>=0 then begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); if x1=x2 then write(1,' ',x1); if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2); if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1); end; end; if (a=0)and(b<>0)and(c<>0)then begin x1:=-c/b; write(1,' ',x1); end; if (a<>0)and(b=0)and(c<>0)then begin if(-c/a>=0) then begin x2:=sqrt(-c/a); x1:=-sqrt(-c/a); if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2); if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1); end; if(-c/a<0) then writeln(0); end; if (a<>0)and(b<>0)and(c=0)then begin x1:=0; x2:=-b/a; if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2); if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1); end; end.
Вводятся координаты (x;y) точки и радиус круга (r). Определить принадлежит ли данная точка кругу, если его центр находится в начале координат.
Будем считать, что точка принадлежит кругу, если находится внутри его или на его окружности.
Из любой точки координатной плоскости можно провести отрезок к началу координат. Если длина этого отрезка больше радиуса круга, то точка лежит за пределами круга и, следовательно, не принадлежит ему. Если же отрезок, соединяющий точку и начало координат, меньше радиуса круга с центром в начале координат или равен ему, то точка будет принадлежать кругу.
program gt;
var a,b,c,d,x1,x2,s:real;label 1,2;
begin
read(a,b,c);
if ((a=0)and(b=0)and(c<>0)) then writeln(0);
if(a=0)and(b=0)and(c=0)then writeln(3);
if(a<>0)and(b<>0)and(c<>0)then begin
d:=b*b-4*a*c;
if (d<0)or((a=0)and(b=0)and(c<>0)) then writeln(0);
if d>=0 then begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
if x1=x2 then write(1,' ',x1);
if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2);
if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1);
end;
end;
if (a=0)and(b<>0)and(c<>0)then begin
x1:=-c/b;
write(1,' ',x1);
end;
if (a<>0)and(b=0)and(c<>0)then begin
if(-c/a>=0) then begin
x2:=sqrt(-c/a);
x1:=-sqrt(-c/a);
if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2);
if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1);
end;
if(-c/a<0) then writeln(0);
end;
if (a<>0)and(b<>0)and(c=0)then begin
x1:=0;
x2:=-b/a;
if (x1<>x2)and(x1<x2) then write(2,' ',x1,' ',x2);
if (x1<>x2)and(x1>x2) then write(2,' ',x2,' ',x1);
end;
end.