e-olymp 926. Формула Герона

Задача

Герон Александрийский

Герон Александрийский

Задано стороны [latex]a, b, c, d[/latex] и диагональ [latex]f[/latex] выпуклого четырехугольника. Определить площадь четырехугольника, используя вспомогательную функцию вычисления площади треугольника по формуле Герона.

Входные данные

В одной строке задано 5 действительных чисел [latex] a, b, с, d, f[/latex] (0 < [latex] a, b, c, d, f[/latex] ≤ 100), как показано на рисунке.

Выходные данные

Вывести площадь четырехугольника с точностью 4 знака после десятичной точки.

Тесты

# Входные данные Выходные данные
1 2 2 2 2 2 3.4641
2 7 7 5 6 2 11.6120
3 9 5 3 2 4 2.9047
4 5 7 2 3 4 12.7027
5 7 8 6 2 5 22.0043

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

Решение задачи

Дано

Фигура, состоящая из двух треугольников;

Цель

Посчитать площадь данной фигуры;

Идея

Разбить фигуру на два треугольника и посчитать площадь каждого в отдельности, а потом сложить.

Способ решения

  1. Вспомним формулу Герона [latex] S = \sqrt{p \cdot(p-a) \cdot(p-b) \cdot(p-c)}[/latex].
  2. Поймем, что нам не хватает некоторых данных, а именно [latex]p[/latex].
  3. Понимаем, что [latex]p[/latex] — это полупериметр, который находится по формуле [latex]p=\frac{P}{2}[/latex].
  4. Возникает вопрос, что такое [latex]P[/latex] ? Приходим к выводу, что это периметр.
  5. Находим формулу периметра, который равен [latex]P=a+b+c[/latex]. Данная формула была подведена под условие нашей задачи.
  6. После того как мы вывели формулы, можем приступать к решению задачи.
  7. Подставляя исходные данные в формулы, которые были представлены выше, получаем результат.
  8. Более подробное описание каждого действия представлено выше в коде. Это сделано для того, чтобы пользователь получал ответы на интересующие его вопросы непосредственно в момент их возникновения.

Ссылки

Задача на e-olymp

Код задачи на ideone

Latest posts by Артем Чернобровкин (see all)

5 thoughts on “e-olymp 926. Формула Герона

  1. В постановке задачи (и не только там) переменные стоит писать в окружении LaTeX.
    В «Способе решения» в некоторых местах не хватает пробелов и есть одна ошибка.
    В формуле под корнем * нужно заменить на \cdot

    • Это не дело половину формулы оформить в latex, а остальное оставить так.
    • Уберите кириллицу из постоянных ссылок… Не утерпел, убрал сам
    • Лучше убрать эту полоску с надписью 1270204289 поперек рисунка.
    • Если удастся написать самому (без графического редактора) рисунок в формате SVG, я начислю дополнительные баллы.
  2. Я зачту работу, но «(0 <» это часть формулы и»≤ 100)» — тоже. Исправьте, пожалуйста.
    Ставьте пробелы в коде. Иначе всё сливается. И добавьте style=»italic» внутрь тэга text в SVG. Нужно, чтобы обозначения на рисунке выглядели так же как и в формулах в тексте.
    И во втором Вашем SVG.

Добавить комментарий