Вопрос задан 05.11.2026 в 07:51. Предмет Информатика. Спрашивает Коржаков Женя.

Напишите функцию S(x1, y1, x2, y2, x3, y3), которая принимает координаты трёх точек на плоскости. Если они могут быть вершинами равнобедренного прямоугольного треугольника, то функция возвращает площадь треугольника, в противном случае возвращает −1.
Язык: JavaScript.

Перейти к ответам

Ответы на вопрос

Отвечает Менх Кристина.

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

function S(x1, y1, x2, y2, x3, y3) {
  const d1 = (x1 - x2) ** 2 + (y1 - y2) ** 2;
  const d2 = (x1 - x3) ** 2 + (y1 - y3) ** 2;
  const d3 = (x2 - x3) ** 2 + (y2 - y3) ** 2;
  const d = [d1, d2, d3].sort((a, b) => a - b);

  if (d[0] === 0 || d[0] !== d[1] || d[2] !== d[0] + d[1]) {
    return -1;
  }

  return d[0] / 2;
}

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос