Определить высоту треугольника площадью S, если его основание больше высоты на величину a.
Два целых числа S (0 < S ≤ 100) и a (|a| ≤ 100).
Вывести высоту треугольника с точностью до сотых.
Формула для вычисления площади треугольника S=1/2*h*c, где h – высота, c – сторона, к которой высота проведена.
По условии задачи , основание больше высоты на величину a, тогда с равно h+c. Подставим в формулу и получим S=1/2*h*(h+a)
После превращений формулы получаем h*h+a*h-2*S=0
Дальше ищем решение квадратного уравнения через дискриминант.
G=a*a+4*s*S
h=(-a+asrt(G))/2
Решение меньше нуля не учитываем
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int s, a;
int g;
double h, dk;
cin >> s >> a;
g = a*a + 8*s;
dk = sqrt(g);
h = (-a + dk)/2;
cout << fixed << setprecision(2) << h;
return 0;
}
Назад
Есть решение которого нет на сайте? Пиши admin@devexe.top