Алгоритм определения минимального числа из пяти

Поиск минимального числа

Вариант 1. линейный проход с использованием тернарных операторов

Алгоритм определения минимального числа из пяти данных для Java и др. с помощью тернарных операторов.

public static int min(int a, int b, int c, int d, int e) {
int min = a < b ? a : b; // А меньше Б? Если да, минимальное число равно A. Иначе min = b;
min = c < min ? c : min; // C меньше МИНИМАЛЬНО ЧИСЛА? Если да min = c. Иначе min = min
min = d < min ? d : min; // D меньше МИНИМАЛЬНО ЧИСЛА? Если да min = d. Иначе min = min
min = e < min ? e : min; // E меньше МИНИМАЛЬНО ЧИСЛА? Если да min = e. Иначе min = min
return min; // Возвращаем полученное минимальное число.
}

Вариант 2. Использование встроенной библиотеки Math (Java)

Если не хочется городить тернарные операторы, можно использовать стандартную функцию Math.min. Она делает код чище и понятнее.

[pastacode lang="java" manual="public static int min(int a, int b, int c, int d, int e) {
// Вложенные вызовы Math.min сравнивают числа парами
return Math.min(a, Math.min(b, Math.min(c, Math.min(d, e))));
}" message="Минимум через Math.min" highlight="" provider="manual"/]

Суть: Мы отдаем функции <code>Math.min</code> два числа, она возвращает меньшее, которое тут же сравнивается со следующим.

Вариант 3. Через массив и цикл (Универсальный)

Этот способ хорош тем, что если завтра чисел станет не 5, а 10 или 100, тебе не придется переписывать логику сравнения.

[pastacode lang="java" manual="public static int min(int a, int b, int c, int d, int e) {
int[] numbers = {a, b, c, d, e};
int min = numbers[0]; // Берем первое число за эталон

for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < min) {
min = numbers[i]; // Нашли число еще меньше — обновляем min
}
}
return min;
}" message="Минимум через массив и цикл" highlight="" provider="manual"/]

Суть: Мы складываем все переменные в «коробку» (массив) и по очереди проверяем каждую. Это стандарт для работы с динамическими данными.

Поделись, если оказалось полезно :)
Нет комментариев

Написать