Условие задачи:
Треугольник задан длинами сторон. Найти радиус вписанной [latex]r[/latex] и описанной [latex]R[/latex] окружностей.
Тесты:
[latex]a[/latex] | [latex]b[/latex] | [latex]c[/latex] | [latex]r[/latex] | [latex]R[/latex] |
3 | 4 | 5 | 1 | 2.5 |
7.5 | 10 | 13 | 2.45012 | 6.52361 |
1 | 3 | 4 | 0 | inf |
1 | 1 | 3 | Не существует! | Не существует! |
Код программы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import java.util.*; public class triangle { public static void main(String[] args) { Scanner in = new Scanner(System.in); System.out.print("Введите a: "); double a = in.nextDouble(); System.out.print("Введите b: "); double b = in.nextDouble(); System.out.print("Введите c: "); double c = in.nextDouble(); double p = (a + b + c) / 2; double S = Math.sqrt(p * (p - a) * (p - b) * (p - c)); //формула Герона double r = S / p; double R = a * b * c / (4 * S); System.out.println("Радиус вписанной окружности равен " + r); System.out.println("Радиус описанной окружности равен " + R); } } |
Алгоритм:
Проводим следующие вычисления (порядок сохранен):
16 17 18 19 20 21 |
double p = (a + b + c) / 2; double S = Math.sqrt(p * (p - a) * (p - b) * (p - c)); //формула Герона double r = S / p; double R = a * b * c / (4 * S); System.out.println("Радиус вписанной окружности равен " + r); System.out.println("Радиус описанной окружности равен " + R); |
- Вычисляем полупериметр [latex]p[/latex] треугольника: [latex]p[/latex] = [latex]\frac{a + b + c}{2}[/latex]
- Находим площадь [latex]S[/latex] по формуле Герона: [latex]S[/latex] = [latex]\sqrt{p(p-a)(p-b)(p-c)}[/latex]
- Вычисляем радиус [latex]r[/latex] вписанной окружности по формуле: [latex]r[/latex] = [latex]\frac{S}{p}[/latex]
- Вычисляем радиус [latex]R[/latex] описанной окружности по формуле: [latex]R[/latex] = [latex]\frac{abc}{4S}[/latex]
Работающая версия программы на Ideone.com
— Ключевые слова…
— Формулы в latex…
— Когда Вы вставляете несколько строк кода для пояснения, сохраняйте номера строк исходного кода. Плагин это позволяет.
— Пожалуйста, уберите проверку — это ведь линейные вычисления.
— Был бы уместен рисунок.
— Добавил во всех записях
— Аналогично
— Исправил
— Убрал
— Нарисовал
— Сделайте, пожалуйста, отступы.
— Рисунок ужасен. Но с ним понятнее.