В основе лежит формула определения расстояния между двумя точками в прямоугольной системе координат, при этом одна из точек совпадает с началом системы координат. В этом случае искомое расстояние определяется по формуле:
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их. Окончательно задача сводится к нахождению минимального из значений по заданным координатам х и у.
var ax, ay, bx, by, rx, ry: real;
begin writeln('Введите координаты первой точки'); readln(ax, ay); writeln('Введите координаты второй точки'); readln(bx, by); rx := sqr(ax) + sqr(ay); ry := sqr(bx) + sqr(by); if rx < ry then writeln('Первая точка ближе') else if rx > ry then writeln('Вторая точка ближе') else writeln('Обе точки равноудалены') end.
х=7690 - условие
var x, L, M: integer;
begin readln(x);
L:=0;
M:=0;
while x > 0 do begin
1) L:= L + 1 = 1;
M:= M + x mod 10 = 0;
x:= x div 10 = 7 69;
2) L:= L + 1 = 2;
M:= M + x mod 10 = 9;
x:= x div 10 = 7 6;
3) L:= L + 1 = 3;
M:= M + x mod 10 = 15;
x:= x div 10 = 7 ;
4) L:= L + 1 = 4;
M:= M + x mod 10 = 22;
x:= x div 10 = 0;
end;
writeln(L);
write(M);
end.
L = 4; M = 22
Объяснение:
1)L:= L + 1 = 0 + 1 = 1;
M:= M + x mod 10 = 0 + 0 (остаток) = 0;
x:= x div 10 = 7690 : 10 = 769 (остаток 0 здесь не пишется);
2)L:= L + 1 = 1 + 1 = 2;
M:= M + x mod 10 = 0 + 9 (остаток) = 9;
x:= x div 10 = 769 : 10 = 76 (остаток 9 здесь не пишется);
3)L:= L + 1 = 2 + 1 = 3;
M:= M + x mod 10 = 9 + 6 (остаток) = 15;
x:= x div 10 = 76 : 10 = 7 (остаток 6 здесь не пишется);
4)L:= L + 1 = 3 + 1 = 4;
M:= M + x mod 10 = 15 + 7 (остаток) = 22;
x:= x div 10 = 7 : 10 = 0 (остаток 7 здесь не пишется);
Поскольку в задаче не ставится вопрос определения самого расстояния, достаточно для каждой точки вычислить значение L² и сравнить их.
Окончательно задача сводится к нахождению минимального из значений
по заданным координатам х и у.
var
ax, ay, bx, by, rx, ry: real;
begin
writeln('Введите координаты первой точки');
readln(ax, ay);
writeln('Введите координаты второй точки');
readln(bx, by);
rx := sqr(ax) + sqr(ay);
ry := sqr(bx) + sqr(by);
if rx < ry then writeln('Первая точка ближе')
else
if rx > ry then writeln('Вторая точка ближе')
else writeln('Обе точки равноудалены')
end.