932. Высота треугольника
Определить
высоту треугольника площадью S, если
его основание больше высоты на величину a.
Вход. Два целых числа: S (0 < S ≤ 100),
и a (|a| ≤ 100).
Выход. Искомая
высота с точностью до сотых.
Пример входа |
Пример выхода |
15 1 |
5.00 |
геометрия
- базовая
Пусть h – высота треугольника. Тогда его
основание равно h + a. Площадь треугольника равна S = ½ h (h + a). Значения S и a заданы, решаем
квадратное уравнение относительно h:
h2 + ha – 2S = 0,
дискриминант
D = a2 + 4S,
положительный
корень равен h =
Реализация алгоритма
Читаем входные данные. Решаем квадратное уравнение S = ½ h (h
+ a) относительно h и выводим его
положительный корень.
scanf("%lf %lf",&s,&a);
d
= a*a + 8*s;
h
= (-a + sqrt(d)) / 2;
printf("%.2lf\n",h);
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
double s = con.nextDouble();
double a = con.nextDouble();
double d = a * a + 8 * s;
double h = (-a + Math.sqrt(d)) / 2;
System.out.println(h);
con.close();
}
}
Python реализация
import math
s, a = map(float,input().split())
d = a*a + 8*s;
h = (-a + math.sqrt(d)) / 2;
print("%.2f"
%h)