powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Java такая Java - помогите решить задачу...
9 сообщений из 34, страница 2 из 2
Java такая Java - помогите решить задачу...
    #38442085
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AdrikramИмеется ввиду не среднее арифметическое, а число которое не самое большое, но и не самое маленькое из трех.
Код: java
1.
2.
3.
4.
5.
public static int getSredniy(int a, int b, int c) {
	int min = Math.min(a, Math.min(b, c));
	int max = Math.max(a, Math.max(b, c));
	return (a != min && a != max ? a : (b != min && b != max ? b : c)); 
}
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442097
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МужикСлабо обойтись только двумя сравнениями?
Примерчик решения приведете?
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442116
Мужик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HoBTIDМужикСлабо обойтись только двумя сравнениями?
Примерчик решения приведете?
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
public static int calculateMedian(int a, int b, int c) {
    if ((a - b) * (c - a) > 0) // (b < a < c) или (c < a < b)
        return a;
    else if ((b - a) * (c - b) > 0) // (a < b < c) или (c < b < a)
        return b;
    else
        return c;
}


Проблемы с переполнением int пусть автор решит в качестве домашнего задания ;)

А вообще непонятно, почему в лоб никто не предложил (наверное это самый быстрый вариант, если не использовать специальные инструкции современных процессоров):
Код: java
1.
2.
3.
4.
public static int calculateMedian(int a, int b, int c) {
    return (a < b) ? ( (a > c) ? a : (b < c) ? b : c )
                   : ( (a < c) ? a : (b < c) ? c : b );
}
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442122
Мужик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, если решать через Max и Min (не знаю, умеет ли JIT использовать специальные инструкции современных процессоров для их вычисления), то достаточно четырех таких инструкций.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
public static int calculateMedian(int a, int b, int c) {
    return Math.max(
        Math.min(a, b), 
        Math.min(
            Math.max(a, b), 
            c
        )
    );
}
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442139
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
3.
4.
    public static int median(int... values) {
        Arrays.sort(values);
        return values[values.length / 2];
    }
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442168
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мужик, за формулу - спасибо. Но это медиана. Тоесть медиана считается в общем случае по другой формуле.
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442182
Фотография Usman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UsmanAdrikramИмеется ввиду не среднее арифметическое, а число которое не самое большое, но и не самое маленькое из трех.
Код: java
1.
2.
3.
4.
5.
public static int getSredniy(int a, int b, int c) {
	int min = Math.min(a, Math.min(b, c));
	int max = Math.max(a, Math.max(b, c));
	return (a != min && a != max ? a : (b != min && b != max ? b : c)); 
}


Код: java
1.
2.
3.
public static int getSredniy2(int a, int b, int c) {
  return Math.max(Math.max(Math.min(c, a), Math.min(a, b)), Math.max(Math.max(Math.min(a, b), Math.min(b, c)), Math.max(Math.min(a, b), Math.min(b, c))));
}
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442185
avp.mk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Usman,
Код: java
1.
import static java.lang.Math.*;


;)
...
Рейтинг: 0 / 0
Java такая Java - помогите решить задачу...
    #38442194
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну.. множно заинлайнить min, max с тремя аргументами.
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Java такая Java - помогите решить задачу...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]