Правило треугольника

  • 4
  • Недоступна
Любые ли три отрезка могут быть сторонами треугольника или не любые? Наверное, вы уже догадались (или вспомнили из школьной геометрии), что треугольник получится, только когда сумма длин двух любых сторон будет больше длины третьей стороны. Ну а теперь напишем код проверки 3 отрезков на пригодность для сторон треугольника.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (274)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
SWK
Уровень 8
29 сентября, 08:56
Судя по всему, при проверке решения программа запускается несколько раз с различными наборами исходных данных, после чего на основании результатов всех тестов делается вывод о том, что в ней не работает. К сожалению, это не очень очевидно пользователям. Например, пользователь запускает на стартовом наборе 2-3-4. Результат проверки: "Не пишет, что треугольника не существует." Но 2-3-4 существует. Это обескураживает. А, на самом деле, не прошла проверка, например, 3-2-1, но пользователь об этом не догадывается. Кстати, 3-2-1, с точки зрения геометрии, должно проходить.
SWK
Уровень 8
29 сентября, 08:36
Абыдна, что библиотека Math не подключается.
SWK
Уровень 8
29 сентября, 08:34
Неправильная формулировка условия существования треугольника. У вас: "Треугольник существует только тогда, когда сумма двух его сторон больше третьей." На самом деле: "...ЛЮБЫХ его сторон больше ИЛИ РАВНА третьей." Треугольника 5 - 3 - 1 не существует, хотя сумма первых двух сторон очевидно больше третьей. Треугольник 3 - 2 - 1 существует, хотя и не имеет площади. Ну вырожденный треугольник, но таки треугольник.
Ольга Пронина
Уровень 9, Москва
4 августа, 08:11
Формулировка: "Сумма двух сторон треугольника всегда больше третьей стороны" очень мне помогла, надеюсь и вам поможет))
Andrey Panchenko
Уровень 26, Краснодар, Россия
11 июля, 08:43
Написал такой код, провёл тесты - всё верно. Видимо, или я что-то упустил, или вы не учли такой вариант? if(a + b < c || a + c < b || c + b < a) System.out.println("Треугольник не существует."); else System.out.println("Треугольник существует.");
Иван
Уровень 8, Новосибирск
5 августа, 13:51
Если хотя бы в одном случае сторона окажется больше либо равна сумме двух других
Ikari KuroIv
Уровень 15
9 июля, 09:16
((a + b) > c & (a + c) > b & (c + b) > a)
just_DO_it
Уровень 18
7 июня, 00:13
Не проходит по последнему пункту - Если треугольник с такими сторонами не может существовать, необходимо вывести текст: "Треугольник не существует." не понимаю, что не так : if((a < (b + c)) | (b < (a + c)) | (c < (a + b))) System.out.println("Треугольник существует."); else System.out.println("Треугольник не существует.");
Анжелика П. Специалист
8 июня, 09:38
Надо ставить И (&), а у вас стоит ИЛИ (|), то есть никогда не выведется надпись "Треугольник не существует."
Анжелика П. Специалист
8 июня, 09:42
То есть вы говорите "выполни, если хотя бы одно из условий true", а должны выполняться все условия "выполни, если это условие верно И это условие верно И это тоже верно"
just_DO_it
Уровень 18
8 июня, 14:42
Спасибо! Не правильно понял (Треугольник существует только тогда, когда сумма двух его сторон больше третьей.) - думал это справедливо хотя бы для одной стороны.
Александр
Уровень 5, Москва, Россия
15 мая, 21:01
У меня сложность возникла в том как прочитать сразу 3 числа с консоли. Спасибо подсказкам. )))
Алексей
Уровень 7, Рязань, Россия
20 апреля, 21:14
В чём моя ошибка? if ((st1+st2)>=st3){ System.out.println("Треугольник существует.");} else if ((st3+st1)>=st2){ System.out.println("Треугольник существует.");} else if ((st3+st2)>=st1){ System.out.println("Треугольник существует.");} else System.out.println("Треугольник не существует.");
Вилюян
Уровень 9, Якутск, Россия
29 марта, 12:58
По сути легкое задание, вот шпора Теорема о неравенстве треугольника Если дан треугольник ABC, то, применяя по отношению к нему теорему о неравенстве треугольника, можно записать: AB < BC + AC, BC < AB + AC, AC < AB + BC