Задача. Треугольник задан длинами сторон. Найти длины медиан.
Длины сторон: [latex]a[/latex], [latex]b[/latex], [latex]c[/latex]. Длины медиан: [latex]a_1[/latex], [latex]b_1[/latex], [latex]c_1[/latex].
Тесты:
a | b | c | a1 | b1 | c1 | Комментарий |
1 | 4 | 5 | 4,5 | 3 | 1,5 | Пройден |
21 | 12 | 9 | 1,5 | 15 | 16,5 | Пройден |
24 | 17 | 9 | 6,40312 | 16,0078 | 20,3039 | Пройден |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#include <stdio.h> #include <math.h> int main(void) { double a, b, c, a1, b1, c1; printf("Введите длины строн a, b, c (a, b, c не могут быть меньше либо равными нулю): \n"); scanf("%lf %lf %lf", &a, &b, &c); b1=0.5*sqrt(2*a*a+2*c*c-b*b); a1=0.5*sqrt(2*b*b+2*c*c-a*a); c1=0.5*sqrt(2*a*a+2*b*b-c*c); printf("b1=%8lg\n", b1); printf("a1=%8lg\n", a1); printf("c1=%8lg\n", c1); return 0; } |
Решение:
Когда известны все стороны треугольника, медианы вычисляются по следующей формуле: [latex]\frac{1}{2}\sqrt{2a^2+2b^2-c^2}[/latex], где [latex]c[/latex] — сторона к которой проведена медиана, а [latex]a[/latex] , [latex]b[/latex] — стороны треугольника.
Для проверки выполнения программы можно воспользоваться ссылкой .
Решение на Java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
import java.util.*; import java.lang.*; import java.io.*; class Ideone { public static void main (String[] args) throws java.lang.Exception { Scanner in = new Scanner(System.in); double a, b, c, a1, b1, c1; System.out.println("Введите длины строн a, b, c (a, b, c не могут быть меньше либо равными нулю): "); a = in.nextDouble(); b = in.nextDouble(); c = in.nextDouble(); a1=0.5*Math.sqrt(2*b*b+2*c*c-a*a); b1=0.5*Math.sqrt(2*a*a+2*c*c-b*b); c1=0.5*Math.sqrt(2*a*a+2*b*b-c*c); System.out.printf(Locale.US, "a1=%.7f\n",a1); System.out.printf(Locale.US, "b1=%.7f\n",b1); System.out.printf(Locale.US, "c1=%.7f\n",c1); } } |
Засчитано, 5 баллов.