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

  • 4
  • Недоступна
Любые ли три отрезка могут быть сторонами треугольника или не любые? Наверное, вы уже догадались (или вспомнили из школьной геометрии), что треугольник получится, только когда сумма длин двух любых сторон будет больше длины третьей стороны. Ну а теперь напишем код проверки 3 отрезков на пригодность для сторон треугольника.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (141)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Андрей4 уровень, Магнитогорск
вчера, 14:54
Не пойму, как это работает. Но если видите мой код просьба прокомментировать, почему не работает. Все вроде верно. Валидатор слабый?
Maxim Belich8 уровень, Минск
21 февраля, 22:34
11 попыток)0 Все работало, валидатор не пускал.. помогло сначала проверить на то, чтобы треугольник НЕ существовал,а затем уже елсе треугольник существует наоборот не работало)0)
Александр6 уровень, Москва
5 февраля, 09:41
Еще ошибка может - если точки в конце текста нет))
Тарас12 уровень, Киев
30 января, 10:33
Через нахождение найбольшей стороны и сравнение ее величины с сумой других четвертое условие (Треугольник не существует.) преодолеть так и не получилось. Видимо слишком сложный путь) А вообще было бы не плохо посмотреть входящие данные для валилации...
Dancha15 уровень, Санкт-Петербург
29 января, 17:45
String trey = ((a+b)>c & (c+a)>b & (c+b)>a)? "Треугольник существует.":"Треугольник не существует."; System.out.println(trey);
C-Grey6 уровень, Москва
20 февраля, 19:02
в чем разница?
Ольга4 уровень
23 января, 14:38
"Треугольник существует." Задача не прошла тестирование. Убедитесь, что программа не выводит лишний текст. Также, как и в предыдущей задаче. С кодом все нормально. Но почему не нравится текст. Помогите найти ошибку, если кто-то видит, что не так.
19 февраля, 12:27
Скопируй текст из условия задачи. На точки тоже обращай внимание.
Максим9 уровень, Алматы
6 января, 14:55
Подскажите пожалуйста можно ли записать данный код в 2 строчки? String a = reader.readLine(); String b = reader.readLine(); String c = reader.readLine(); int aA = Integer.parseInt(a); int bB = Integer.parseInt(b); int cC = Integer.parseInt(c);
6 января, 18:27
Зачем парсить? сканируй сразу в int
Ruslan7 уровень, Москва
6 января, 19:34
тоже до этого (в других задачах) писал как Максим, потом обнаружил, что это вовсе не обязательно и можно абсолютно любой тип вводить, меня readLine() смущало всегда, хотя parseInt() даже если без стринга вводить все равно парсит получается?
7 января, 19:13
Scanner sc = new Scanner(System.in); // Создаем сканер с именем sc int a = sc.nextLine(); // Присваиваем int a те значения которые нашел сканер Список next-ов: next(): считывает введенную строку до первого пробела nextLine(): считывает всю введенную строку(String) nextInt(): считывает введенное число int nextDouble(): считывает введенное число double nextBoolean(): считывает значение boolean nextByte(): считывает введенное число byte nextFloat(): считывает введенное число float nextShort(): считывает введенное число short
Bonus15 уровень
10 января, 18:12
int c = Integer.parseInt(reader.readLine());
Мариам10 уровень, Columbus
27 декабря 2019, 22:03
имейте ввиду, что по какой-то тупой причине надо писать && и нельзя писать ||
if(x>c && y>b && z>a){System.out.println("Треугольник существует.");}
           else {System.out.println("Треугольник не существует.");}
Виктор11 уровень, Санкт-Петербург
28 декабря 2019, 10:39
Эта "тупая" причина заключается в том, что && - это значит И, а || значит ИЛИ. Ты пишешь задание, где тебе нужно, чтобы все условия были истинной, поэтому использовать нужно &&. Например if (2=2 && 3=3 && 4=4) тогда будет происходить что-то дальше, а если нам нужно, чтобы из трех условий хотя бы одно было в истине, мы можем написать так: if (2=2 || 3 = 4 || 2=5) - тут в истине только 2=2, но при этом дальнейшие условия тоже будут выполняться. Надеюсь, я сам все правильно понял))
Мариам10 уровень, Columbus
28 декабря 2019, 20:44
просто лично я как подумала, нам же сказали: "Треугольник существует только тогда, когда сумма двух его сторон больше третьей." Поэтому я посчитала что достаточно что бы ОДНО ИЗ условий выполнялось, а не все три. Потому что И означает что все три должны выполнятся.... а ИЛИ означает что достаточно что бы ОДНО ИЗ условий оказалось истиной
Виктор11 уровень, Санкт-Петербург
29 декабря 2019, 04:58
Если хотя бы в одном случае сторона окажется больше либо равна сумме двух других, то треугольника с такими сторонами не существует. Текст из задания)
Алексей4 уровень, Москва
3 января, 19:38
А при чём здесь сравнивание сторон, если надо сравнить каждую сторону с суммой двух других?
Goryachev Sergey4 уровень, Вычисли сам.
16 января, 12:57
именно что ни при чем, можно записать (a+b<=c) , это для стороны с сравнение, и так сравнить все стороны, используя оператор || (логическое ИЛИ).
Вадим4 уровень, Бийск
18 февраля, 14:31
Зачем "или" использовать? ведь условия должны выполнятся при выполнении всех 3-х случиях одновременно, я использовал обычный И (&)
Maksym Rado24 уровень, Тернополь
26 декабря 2019, 23:09
Можно решать в два варинта 1.
(a+b<=c)||(a+c<=b)||(b+c<=a)
Через ИЛИ если хотя бы одна сторона больше(или равно) суммы двух других, то при соблюдении этого условия треугольник не существует, соответственно, (else) треугольник существует. 2.
(a<b+c)&&(b<a+c)&&(c<a+b)
Через И каждая сторона должна быть меньше суммы двух других, тогда если все условия соблюдаются, то треугольник существует и (else) не существует. А как писать, через if else или тернарный оператор, дело каждого...
Дмитрий кул Хацкер8 уровень, Минск
10 января, 11:01
я не смог решить через else if
Алексей5 уровень, Киев
15 января, 23:04
Очень подробно объяснил, спасибо!
Liza9 уровень, Минск
23 декабря 2019, 18:59
Возможно, кому-то поможет: исходить нужно из условия, что каждая сторона треугольника должна быть не только меньше суммы двух других его сторон, но и при этом больше их разности.