Треугольник

  • 3
  • Недоступна
Напишем программу, которая будет просчитывать возможность существования треугольника на основе длин его сторон. Для этого тебе нужно: 1. Ввести с клавиатуры три числа – длины сторон предполагаемого треугольника. 2. Определить возможность существования треугольника по сторонам. Результат вывести на э
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (79)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Игорь
Уровень 14, Russian Federation
около 5 часов назад
почему то идеа допустила пропустить else, а валидатор без него не пропустил
Артём «AMOR.Fati» Ляхов
Уровень 4, Екатеринбург, Россия
23 января, 10:50
Для тех, кто не разобрался. Сначала вводим 3 переменные с клавиатуры при помощи Scanner.
Scanner scan = new Scanner (System.in);
        int a = scan.nextInt();
        int b = scan.nextInt();
        int c = scan.nextInt();
Далее описываем 3 переменные типа boolean для условия существования треугольника и еще 3 переменных для условия несуществования треугольника.
boolean ab = a + b > c; //Треугольник существует
boolean ac = a + c > b;
boolean bc = b + c > a;

boolean ab1 = a + b <= c; //Треугольник не существует
boolean ac1 = a + c <= b;
boolean bc1 = b + c <= a;
Теперь подставляем переменные типа boolean в условные операторы и выводим сообщение о существовании или несуществовании треугольника. Треугольник существует:
if(ab && ac && bc) //условие существования треугольника
System.out.println(TRIANGLE_EXISTS); //вывод сообщения в консоль
Треугольник не существует:
else if(ab1 || ac1 || bc1) // //условие несуществования треугольника
System.out.println(TRIANGLE_NOT_EXISTS); //вывод сообщения в консоль
Надеюсь кому-то пригодится. Можно было просто написать условия существования/несуществования в самом if, но прочитав данную статью (https://habr.com/ru/post/61323/), решил сделать так, как расписал выше!
Василиса
Уровень 3, Саратов, Russian Federation
около 17 часов назад
я сделала проще, так же ввела три переменные с клавиатуры, но не стала описывать доп.переменные для условия несуществования треугольника. Я написала if ((((b+c) > a) && ((a+c) > b) && ((a+b) > c))) System.out.println(TRIANGLE_EXISTS); else System.out.println(TRIANGLE_NOT_EXISTS); Это ведь гораздо быстрее ... Что скажете?
Игорь
Уровень 14, Russian Federation
около 5 часов назад
вариант по компактнее : if ((a + b) > c && (a + c) > b && (b + c) > a) {
Tomhetted
Уровень 3
19 января, 20:25
В boolean можно записать сложное сравнение а в int нет, эта задачка попроще предыдущей
Evgeny Skorokhodov Работает в Роскосмос
15 января, 14:51
Решение проще чем кажется. Достаточно внимательно прочитать условие задачи. Удалось с первой попытки.
stepy
Уровень 6, Санкт-Петербург, Russian Federation
9 января, 23:18
для решения использовал boolean
Roman
Уровень 11, Москва, Russian Federation
31 декабря 2021, 10:51
легкая задача, но из-за того что не внимательно прочитал задание не понимал почему не получается. Нужно было: 1. Если в каждом сравнении сторона меньше суммы двух других, то треугольник с такими сторонами существует. 2. Если хотя бы в одном случае сравнения одна сторона окажется больше или равна сумме двух других, то треугольника с такими сторонами не существует. Вывод: внимательно читайте условия задачи, и все окажется намного проще😊
Stanislav76
Уровень 8, Kehl, Germany
22 декабря 2021, 18:48
у меня без внутренних скобок принял, кстати всё только >
Old_J
Уровень 6, Москва, Russian Federation
17 декабря 2021, 18:46
Для решения достаточно одного if else но т.к. вместо >= использовал > не смог с первого раза...
Татьяна
Уровень 6, Russian Federation
18 декабря 2021, 11:43
у меня наоборот пришлось убрать знаки = тогда принял
Old_J
Уровень 6, Москва, Russian Federation
19 декабря 2021, 14:17
Значити мы поразному задавали цикл...
Дибир
Уровень 9
15 декабря 2021, 19:06
на изи зашла
Иван Василенко
Уровень 4, Тула, Russian Federation
10 декабря 2021, 20:48
Объясните, кто-нибудь, пожалуйста, как расставлять эти скобки...