Соня разложила монеты по трём кучкам: рублёвые, двухрублёвые и пятирублёвые. Рублёвых монет было a, двухрублёвых — b, а пятирублёвых c. Для красоты Соня расположила кучки по высоте: от самой маленькой к самой высокой.
Даны числа a, b, c. Выведи их через пробел по возрастанию.
Ввод Вывод
5
2
7 2 5 7
Задача просит вывести числа a, b, c по возрастанию.
Пошаговое решение:
- Шаг 1: считать три числа a, b, c.
- Шаг 2: найти минимальное значение m = min(a, b, c) и максимальное значение M = max(a, b, c).
- Шаг 3: найти среднее значение s = a + b + c − m − M.
- Шаг 4: вывести трёх чисел в порядке m, s, M.
Пояснение:
- Сумма трёх чисел минус сумма минимума и максимума даёт оставшееся среднее значение.
- Такой способ корректен и при повторяющихся числаx (например, 2, 2, 5 даёт 2 2 5).
Пример с вашей задачей:
- Ввод: a=5, b=2, c=7
- m = min(5,2,7) = 2
- M = max(5,2,7) = 7
- s = 5 + 2 + 7 − 2 − 7 = 5
- Вывод: 2 5 7
Варианты реализации:
- На Python без особенностей: print(sorted([a, b, c])) — за счёт встроенной сортировки
- Или явная реализация (считанные значения a, b, c):
- mn = min(a, b, c)
- mx = max(a, b, c)
- mid = a + b + c − mn − mx
- print(mn, mid, mx)
Если нужно, могу привести полноценный небольшой фрагмент кода на Python (с вводом через три отдельных строки).