Условие
Даны действительные числа [latex]x[/latex], [latex]y[/latex], [latex]z[/latex]. Могут ли они быть длинами сторон некоторого треугольника?
Входные данные
В одной строке задано три числа [latex]x[/latex], [latex]y[/latex] и [latex]z[/latex].
Выходные данные
В одной строке вывести «YES»(без кавычек), если являются длинами некоторого невырожденного треугольника, или «NO»(без кавычек), если нет.
Тесты
Входные данные | Выходные данные |
1e1000 1e10000 1e-1000 | NO |
1e100 1e100 1e-100 | YES |
15.4 6.9 18.3 | YES |
17.55 37.67 88.98 | NO |
1000000 200000 30000 | NO |
1000000 1200000 900000 | YES |
3 4 5 | YES |
9 4 3 | NO |
99 10 47 | NO |
Код
1 2 3 4 5 6 7 8 9 |
#include <iostream> using namespace std; int main() { long double x,y,z; cin >> x >> y >> z; cout << ((x+y>=z)&&(x+z>=y)&&(y+z>=x) ? "YES": "NO"); return 0; } |
Решение
Для того чтобы определить могут ли быть числа длинами некоторого треугольника надо использовать неравенство треугольника, если числа удовлетворяют неравенству, то значит могут быть длинами. В противном случае — нет.
Код программы