Напишите программу, которая будет находить сумму двух наибольших и двух наименьших чисел в последовательности целых
Напишите программу, которая будет находить сумму двух наибольших и двух наименьших чисел в последовательности целых чисел. Программа должна выводить эти две суммы в указанном порядке. Входные данные для программы - целые числа, количество которых не известно. Последовательность чисел заканчивается числом 0, которое не входит в последовательность. Количество чисел в последовательности не превышает 1000, а значения чисел по модулю не превышают 30 000. В последовательности всегда будет не менее двух чисел. Программа должна быть написана на языке Python.
15.01.2025 18:25
Инструкция: Для решения данной задачи, мы можем использовать следующий подход:
1. Создаем переменные для хранения минимального и максимального значения с самым низкими значениями, назовем их `min1`, `min2`, `max1`, `max2`. При этом, исходно задаем `min1` и `min2` значениями 30000, а `max1` и `max2` значениями -30000. Мы задаем такие значения, чтобы обеспечить корректное сравнение позднее.
2. Считываем первое число из входных данных и присваиваем его переменной `num`.
3. Входим в цикл, который будет выполняться до тех пор, пока `num` не станет равно 0.
4. Внутри цикла, проверяем, является ли текущее число `num` больше или меньше уже имеющихся максимальных и минимальных значений. Если `num` больше `max1`, то `max2` присваивается значение `max1`, а `max1` присваивается значение `num`. Если `num` находится между `max1` и `max2`, то значение `max2` присваивается `num`. Если `num` меньше `min1`, то значение `min2` присваивается `min1`, а `min1` присваивается `num`. Если `num` находится между `min1` и `min2`, то значение `min2` присваивается `num`.
5. Считываем следующее число из входных данных и присваиваем его переменной `num`.
6. Повторяем шаги 4-5, пока `num` не станет равно 0.
7. Выводим значения `max1 + max2` и `min1 + min2` в указанном порядке.
Дополнительный материал:
Совет: Для лучшего понимания задачи, рекомендуется использовать отладочные выводы, например, выводить значения `max1`, `max2`, `min1`, `min2` после каждого сравнения в цикле. Это поможет увидеть, как значения обновляются с каждым новым числом из последовательности.
Задание для закрепления: Попробуйте выполнить программу с входными данными: 5, 10, 3, 7, 2, 0. Ожидаемый вывод: "Сумма двух наибольших чисел: 17", "Сумма двух наименьших чисел: 5".