ML 24

Условие задачи :

Треугольник задан длинами сторон. Найти радиус вписанной r и описанной R окружностей.

Тесты :

a b c r R
3 4 5 1 2.5
7.5 10 13 2.450117 6.5236096
1 3 4 0 inf
1 1 3 Не существует! Не существует!

Код программы :

Алгоритм :

В начале проверяем существует ли треугольник. В треугольнике сумма длин любых двух сторон больше длины третьей (или равна ее длине, если треугольник является вырожденным). Если нет, сообщаем об этом пользователю :

Если треугольник существует, проводим следующие вычисления (порядок сохранен) :

  1. Вычисляем полупериметр p треугольника: p\frac{a + b + c}{2}
  2. Находим площадь S по формуле Герона: S = \sqrt{p(p-a)(p-b)(p-c)}
  3. Вычисляем радиус r вписанной окружности по формуле: r\frac{S}{p}
  4. Вычисляем радиус R описанной окружности по формуле: R\frac{abc}{4S}

Работающая версия программы на Ideone.com :
Ideone.com