Сравнение 3 чисел: min, max и порядок
Сравнение 3 чисел: алгоритмы нахождения минимума, максимума и сортировки по возрастанию/убыванию. Примеры с дробными и отрицательными значениями.
Быстрый ответ
Сравнить три числа A, B, C — значит найти минимум, максимум и расположить их по возрастанию или убыванию (с учётом возможных равенств).
- Минимум: min3 = min(min(A, B), C)
- Максимум: max3 = max(max(A, B), C)
- Медиана (среднее по порядку): med3 = A + B + C − min3 − max3
- Порядок: по возрастанию [min3, med3, max3], по убыванию [max3, med3, min3]
Цепочку знаков записывайте как min3 ≤ med3 ≤ max3; при всех разных значениях — строго <.
Алгоритм сравнения трёх чисел
Простой и надёжный способ:
- Возьмите min = A и max = A.
- Сравните с B:
- если B < min, то min = B;
- если B > max, то max = B.
- Сравните с C:
- если C < min, то min = C;
- если C > max, то max = C.
- Медиана: med = A + B + C − min − max.
Итог даёт минимум, максимум и среднее по порядку без полной сортировки. Для полной сортировки достаточно вывести [min, med, max].
Альтернативная короткая сортировка обменами:
- если A > B, поменяйте их местами;
- если B > C, поменяйте их местами;
- если A > B, снова поменяйте их местами. Теперь A ≤ B ≤ C.
Дробные, отрицательные и “почти равные” значения
- Отрицательные числа сравниваются обычно: −7 < −2 < 0 < 0.5.
- Для вещественных чисел используйте допуск ε: числа считаются равными, если |x − y| ≤ ε. Это важно при значениях вроде 0.1 + 0.2 и 0.3.
- Цепочку удобнее писать с ≤/≥, если есть “почти равные” пары.
Выбирайте ε разумно под задачу (например, 1e−9 для математических расчётов, 1e−6 для инженерных при миллиметровых допусках, и т. п.).
Примеры
-
Пример 1: A = 7, B = −2, C = 7
min3 = −2, max3 = 7, med3 = 7. Порядок: −2 < 7 = 7. -
Пример 2: A = −12.5, B = −11.3, C = −12.5
min3 = −12.5, max3 = −11.3, med3 = −12.5. Порядок: −12.5 = −12.5 < −11.3. -
Пример 3 (вещественные): A = 0.1 + 0.2, B = 0.3, C = 0.3000000001, ε = 1e−9
|A − B| ≤ ε и |B − C| ≤ ε, значит A ≈ B ≈ C, все значения считаем равными.
Частые ошибки и как их избежать
- Сравнение как текста: “12” > “9” верно, но “100” < “9” — ложно; всегда сравнивайте как числа.
- Игнорирование равенств: записывайте ≤/≥, иначе цепочка может стать неверной.
- Плавающая точка без допуска: мелкие погрешности ломают строгие сравнения; применяйте ε.
- Переполнение суммы при медиане: при экстремально больших |A|, |B|, |C| лучше находить медиану через сравнения, а не через A + B + C − min − max.
- Смешение разделителей десятичной части: определите формат ввода (точка или запятая) и используйте его последовательно.
Как пользоваться нашим калькулятором
- Введите три значения: A, B, C (целые, дробные, отрицательные допускаются).
- Выберите режим: по возрастанию или по убыванию.
- При необходимости задайте допуск ε для вещественных сравнений.
- Нажмите «Рассчитать» — получите минимум, медиану, максимум, отсортированный список и наглядную цепочку знаков.
- Дополнительно выводится информация о равенствах и “почти равенствах” по заданному ε.
Минимум сравнений: теория в одном абзаце
- Найти одновременно min и max для трёх чисел можно за 3 сравнения в худшем случае.
- Полностью отсортировать три числа в худшем случае тоже достаточно 3 сравнений (алгоритм с обменами выше).
- Это нижние границы для гарантированного результата: меньше сравнений в худшем случае не обойтись.