Существует ли пара?

  • 4
  • Недоступна
Представьте, что у нас есть три числа. А теперь давайте вообразим, что они не числа, а люди… Хотя нет, не стоит этого делать: зачем нам этакая странность? Давайте просто проверим, есть ли среди этих трёх хотя бы одна пара одинаковых чисел. Если есть — выведем их на экран. Ну а если эти три числа одинаковые, выведем все три.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (193)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Максим4 уровень, Москва
понедельник, 21:47
с первого раза, но по старинке)
Дмитрий8 уровень, Новосибирск
22 августа, 05:26
Внимательно нужно обращать внимание на условие задачи 1. у нас есть условие -Если все три числа равны между собой, необходимо вывести все три. -Если два числа равны между собой, необходимо вывести числа на экран. Думаем логически, если у нас равны 3 числа, то нужно вывести их на экран. Значит это будет у нас первое if условие, затем пишем команду и сравниваем 3 числа. НО НЕ ЗАБЫВАЕМ, ЧТО ЕСЛИ ЭТО ВЕРНЫЙ РЕЗУЛЬТАТ, ТО ДРУГИЕ ЧИСЛА УЖЕ НЕ НУЖНО ВЫВОДИТЬ. Как это нам сделать? Все просто If (условие) //Если выполняется основное условие, оставшийся команды не будут выведены. команда_1; //Но если основное условие не выполнено, то компилятор проверяет остальное. else if If (условие) команда_2; //сравниваем две стороны. If (условие) команда_3; //сравниваем две стороны. If (условие) команда_4; //сравниваем две стороны. И получаем вывод на экран, если что-то совпадает увидем результат, если нет, то будет пусто. Вывод если используем if, то он проверяет все команды. Если используем if, затем else if (при выполнение первого условия, остальные условия не будут проверяться) Из-за этого и выдает ошибку: если вы пытаетесь, все сделать через if. Если все три числа равны между собой, необходимо вывести все три.
Ева7 уровень, Алматы
22 августа, 19:47
(Я также взяла первое условие - равные все три числа) Мне понадобилось написать ко всем последним трём условиям (где лишь два равных числа) else if. Иначе он писал так "333 33 33", то есть подходило и первое условие и два последующих.
Nikita7 уровень
19 августа, 17:33
Ничего не выводить:
System.out.print("");
Максим "Evengarr" Меднов7 уровень, Москва
8 сентября, 19:08
можно даже не писать код по этому условию
Slobodin Konstantin5 уровень, Хайфа
9 августа, 14:14
Задача для действительно решается в одну строчку. А если цифр больше? А если там не цифры, а числа? В общем, я слегка заморочился и вот, что получил на выходе: код Работает для любого количества чисел. Выводит дубликаты группами, что важно, в порядке ввода. Т.е., если вы ввели 42 100 42 99 99 100, то в консоли будет 42 42 100 100 99 99
Павел Рослик7 уровень, Минск
2 августа, 11:15
Потратил 5 попыток на последнее требование "Если нет равных чисел, ничего не выводить". Оказалось что надо было всего лишь писать print вместо println.
Zig6 уровень, Grozny
23 августа, 21:37
(пс, не надо было вообще ничего писать)
Евгений5 уровень, Минск
9 июня, 17:49
Решал по старинке, новые решения короче конечно, но тема ещё не пройдена. По примеру задачи с треугольником вывел три числа затем сравнил по системе Если РАВНЫ все сисаут все, ИЛИ Если РАВНЫ 1и2 сисаут (1+" "+2) ИЛИ Если 1и3 сисаут ИЛИ Если 2и3 сисаут (ИЛИ = элс) Удачи.
Максим7 уровень, Санкт-Петербург
28 мая, 16:41
Тоже мучался очень долго, сравнивая отдельно все переменные, пока не понял - что изначально нужно сравнить все три на равность, а далее по отдельности каждую пару
Pavel5 уровень, Киев
6 июня, 16:07
проверка на равность трех чисел выло у меня в последнем условии. И задача не проходила тестирование. Поставил сравнение трех наравность в самый вверх - заработало. Почему так, не подскажете?
1diaamond13 уровень, Киев
28 июня, 18:08
Если у тебя все переменные равны, то у тебя выполнится только первое по счету условие, допустим, a==b и в else ты уже не перейдешь, что бы чекнуть а==b && b==c условие же выполнено и тебе уже не интересно, что там кроме него)
akimaki4 уровень
21 мая, 02:54
System.out.print(a==b&a==c ? a+" "+b+" "+c :a==b ? a+" "+b : a==c ? a+" "+c : c==b ? b+" "+c : ""); Вот что у меня получилось. Подскажите только почему если я ставлю конструкцию "a==b&a==c ? a+" "+b+" "+c" в конце строчки то она выдает ошибку, а если в начале то все работает. С чем это связанно?
Anton Povarnitsin7 уровень
27 мая, 13:46
Все три переменные равны - это базовое условие. Если оно не выполняется, тогда дальше, сравнивается по парам. А если сначала сравнить пары, то если например первая пара равна, тогда программа и не пойдет дальше и не узнает, что есть еще 3-ья переменная равная первым двум. Избыточное условие... может поэтому...
Николай7 уровень, Москва
13 мая, 19:33
Мучал 1,5 часа, а оказалось забыл сравнить a и c... Будьте внимательны!!! :-)) Проверка: вводим 1 2 2, получается (2 2); 1 1 2, получается (1 1); 1 1 1, получается (1 1 1); На этом я и завис... 1 2 1, (1 1)!
Dmitry Aleksandrovich6 уровень, Санкт-Петербург
10 мая, 15:52
Задачу решил через if, потом решил условие в одну строчку прописать. Код работает, задача решается
System.out.print(a==b&a==c?a+" "+b+" "+c:b==c?b+" "+c:a==b?a+" "+b:a==c?a+" "+c:"");
Единственное, принял бы такое решение валидатор?
Umid10 уровень
17 мая, 12:05
да принял :)
Dmitry Aleksandrovich6 уровень, Санкт-Петербург
17 мая, 12:08
Спасибо )
Алексей Халимов5 уровень, Харьков
29 июля, 06:41
увы последние условие не проходит