915. Прямоугольный
или нет?
Заданы длины
сторон треугольника. Определите, является ли этот треугольник прямоугольным.
Вход. Три натуральных числа a, b, c
– длины сторон треугольника, не превышающие 1000.
Выход. Выведите “YES”, если
треугольник является
прямоугольным, и “NO” в противном случае.
Пример
входа 1 |
Пример
выхода 1 |
3 5 4 |
YES |
|
|
Пример
входа 2 |
Пример
выхода 2 |
3 5 5 |
NO |
условный
оператор
Треугольник со сторонами a, b, c является прямоугольным, если одна из
его сторон – гипотенуза, а две другие – катеты. Согласно теореме Пифагора,
квадрат длины гипотенузы равен сумме квадратов длин катетов. Это означает, что
выполняется одно из следующих условий:
a2 = b2 + c2, b2
= a2 + c2 или c2 = a2
+ b2,
где a, b, c могут быть сторонами треугольника в
любом порядке.
Реализация алгоритма
Читаем длины сторон треугольника.
scanf("%d %d %d",&a,&b,&c);
Проверяем, является ли треугольник прямоугольным, и
выводим соответствующий ответ.
if ((a * a + b * b == c * c) ||
(a * a + c * c == b * b) ||
(b * b + c * c == a * a))
puts("YES");
else
puts("NO");
Java реализация
import java.util.*;
public class Main
{
public static void
main(String[] args)
{
Scanner con = new
Scanner(System.in);
int a =
con.nextInt();
int b =
con.nextInt();
int c =
con.nextInt();
if ((a
* a + b * b == c * c) ||
(a * a + c * c == b
* b) ||
(b * b + c * c == a
* a))
System.out.println("YES");
else
System.out.println("NO");
con.close();
}
}
Python реализация
Читаем длины сторон треугольника.
a, b, c = map(int,input().split())
Проверяем, является ли треугольник прямоугольным, и
выводим соответствующий ответ.
if a * a + b * b == c * c or a * a + c * c == b * b
or b * b + c * c == a * a:
print("YES")
else:
print("NO")