Минимум четырех чисел

  • 2
  • Недоступна
В комнате сидело четверо уставших ковбоев. Каждый из них должен опустить руку в сосуд и извлечь из него номер. Тот из четверых, кому достанется самое маленькое число, должен сходить за скотчем (это напиток такой, а не клейкая лента). Помогите ребятам найти крайнего: найдите минимум из четырех чисел.
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (129)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Nikita Kuptsov5 уровень, Москва
12 мая, 17:51
/* Комментарий удален */
Павел3 уровень, Минск
10 мая, 19:06
Результат min (a, b) заносим в переменную и дальше выбираем меньшее из трёх.
Vladimir4 уровень, Нижний Новгород
22 апреля, 18:41
Это решается через условный оператор If, наgooleнный Math - это не респект. Я тоже за компактность. Если у кого то есть вопросы, я объясню как решать и с if.
barracuda4 уровень, Санкт-Петербург
вчера, 13:33
тоже решил с if
Sergey Lebedev4 уровень, Санкт-Петербург
20 апреля, 23:37
Объясните пожалуйста. Решение min(a, b); if (a <= b); b = a; if (b <= c) c = b; if (c <= d) return c; else return d; выводит результат -20 -40 -30 -40 -40 Какого художника тогда мне не проставляет выполнение "Метод min(a, b, c, d) должен возвращать минимальное значение из чисел a, b, c, d."? Все ж, блин значения вывел минимальные.
Марина8 уровень, Москва
24 апреля, 04:55
В третьей строке должно быть -40.
Sergey Lebedev4 уровень, Санкт-Петербург
24 апреля, 10:54
да я понимаю, не понимаю почему выставляет все верные кроме третьего. Спустя 3 дня адских мучений остатков мозга дошло немного изменить логику решения. Сравниваем первые два аргумента, наименьший записываем в наибольший, сравниваем третий и четвертый, тоже мин записываем в макс, и потом сравниваем получившиеся наименьшие. Возвращаем либо то, либо то. Принципиально дальше не открывал, использовать && (и), || (или), ?, или match(), и т.п. считаю неправильным, хоть и прочитал уже про все это в книге хорстманна, здесь ведь мы этого еще не проходили.
Алёна3 уровень, Москва
4 мая, 14:47
почему же это можно использовать для эксперимента к примеру.Самое главное понимать самому как решать определенную задачу
Алексей6 уровень, Москва
19 апреля, 05:37
Не понимаю, почему вы делаете столько попыток, если есть возможность запуска, до проверки
Dmitry3 уровень, Москва
четверг, 15:12
Потому что мы не видели этой кнопки )))) Спасибо, добрый человек :)
Айдар6 уровень, Казань
18 апреля, 20:59
с 5-ой попытки.
Глеб8 уровень, Москва
16 апреля, 09:41
пожалуйста, кто-нибудь объясните, почему не засчитывается использование метода min(a, b) в if ( c <= min(a, b) && c <= d) return c; хотя считает все правильно при этом? так писать не правильно или просто с решением не совпадает и поэтому не проходит, но в принципе так делать можно?
6 апреля, 16:30
Метод min: public static int min (int a, int b). Из записи обращая внимание на int понимаем, что в результате выполнения этого метода мы получим число и мы можем делать с ним, что угодно. Смотрим на короткий метод из 2 переменных public static int min(int a, int b) мы его решаем, аналогично прошлым задачам, и затем благодаря System.out.println(min(-20, -10)); выводим на экран -20. Тут вроде бы всё просто. public static int min(int a, int b) { if (a < b) return a; else return b; Но дальше то ещё больше вопросов зачем нам 2 метода с одинаковым названием? Что делать с 4 переменными? Найдя наименьшее из двух чисел, мы написали метод который содержит в себе выражение находящее наименьшее из 2 чисел и название у метода min, если не заострять внимание и не усложнять себе жизнь вопросами типа почему название одинаковое и т.д. то можно написать решение в одну строку и для 4 переменных. Главное помнить, что мы можем вызвать этот работающий метод, в любом другом методе. Min c 4мя переменными 1 метод и min 2мя переменными другой, они между собой не связаны, хоть и называются одинаково. Вспоминаем из прошлых лекций, что необходимо для вызова метода? Правильно! Нужно написать его название и передать ему аргументы. И тут необходимо это использовать. Ты можешь вызвать метод min с 2 мя переменными в методе с 4 переменными, и поскольку этот метод работает только с 2 мя переменными, то их и указать. ПРИМЕР: min(a,b) А затем этот же метод для C и D. Пример: min(c,d). И этот же метод уже найдёт минимум из 2х других значений. После этого остаётся только придумать запись с правильными аргументами и применить этот же метод min. пример -40 -20;-40 теперь min(и тут надо использовать и то и другое) -10;-20;-30;-40 – сначала 4 значения, для каждой из пар по методу мин. min(a, b), min(c, d)
Ринат4 уровень
13 мая, 17:31
а зачем 2 метода, я так и не понял? нельзя в a,b,c,d, методе сравнить а и b, потом присвоить меньшему f например, сравнить c и d, ей присвоить g например, и сравнить f и g, и возвратить меньшее значение? зачем нам метод только для сравнения a и b? или из-за того что у первой строки нет значений c и d, так работать не будет?
Vadym Yaryna6 уровень
12 марта, 14:06
Страшно, очень страшно! Мы не знаем что это такое, если бы мы знали что это такое.. мы не знаем что это такое.. TT
Павел8 уровень, Екатеринбург
9 марта, 16:53
Внимание: спойлер Можно решить в одну строчку без Math.min, получается как-то так (но тут есть тернарный оператор) return min(a,b) >= min(c,d) ? min(c,d) : min(a,b);