В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aisipat055
aisipat055
14.06.2022 12:05 •  Информатика

Pascal/Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника составленного из трёх отрезков этого набора или написать, что таких треугольников нет.

Показать ответ
Ответ:
vladosik6448
vladosik6448
12.02.2021 21:24

Объясню идею, с кодом я думаю ты сам справишься.

Воспользуемся теоремой Герона:

p = \frac{a + b + c}{2}

S = \sqrt{p(p-a)(p-b)(p-c)}

То есть требуется только перебрать 4 варианта:

a, b, c

a, b, d

a, c, d

b, c, d

Вычислить площадь для каждого и найти максимум из них.

0,0(0 оценок)
Ответ:
pavel271
pavel271
12.02.2021 21:24

function Geron(ar: array of real): real;

begin

 var (a, b, c) := ar;

 if (a + b > c) and (a + c > b) and (b + c > a) then begin

   var p := (a + b + c) / 2;

   Result := Sqrt(p * (p - a) * (p - b) * (p - c))

 end

 else

   Result := 0

end;

begin

 var a := ReadArrReal(4);

 var s := a.Combinations(3).Select(t -> Geron(t)).Max;

 if s > 0 then

   s.Print

 else

   Print('Таких треугольников нет')

end.


Pascal/Вводятся 4 числа – длины отрезков. Найти максимальную площадь треугольника составленного из т
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота