Модуль: Оператор цикла For. Типовые задачи


Задача

10 /16


Минимальное не из всех

Теория Нажмите, чтобы прочитать/скрыть

Максимальное не среди всех

Если нам необходимо найти максимальное (минимальное) не среди всех вводимых чисел, а только среди чисел, удовлетворяющих определенному условию, то необходимо учитывать тот факт, что первое число, которое мы берем за начальное значение максимума (минимума) не всегда будет удовлетворять нашим требованиям.

Например, если мы ищем максимальное отрицательное число, то имея набор данных: \(\{5, -2, 4, 2, -1, -3\}\) мы получим в начальном значении максимума число 5, а оно положительное и больше любого отрицательного. И, следовательно, условие X > M всегда будет ложно.

Следовательно, в алгоритм из предыдущей задачи недостаточно добавить одну лишь проверку на отрицательное число, необходимо еще учитывать тот факт, что первое число может не удовлетворять требуемому условию (в данном случае быть отрицательным).

Исправить это можно с помощью добавления внутри цикла следующего условия:

псевдокод
если X - отрицательное, то
  если M >= 0 или M < X, то
    M = X

В указанном коде условие M >= 0 позволяет выполнить действие M = Х даже в том случае, если первоначально в переменную попало значение, которое заведомо больше остальных (в рассмотренном нами примере - значение равное 5).

Еще заметим, что если диапазон изменения чисел известен, то в качестве начального значения максимума (минимума) можно брать минимальное (максимальное) число из указанного диапазона.

Задача

Дано число N и последовательность из N чисел. Необходимо вывести минимальное четное число среди заданных N чисел.

Входные данные
В первой строке вводится число N - количество чисел  (\(N<=100\)). Далее идут N чисел по одному в строке (все числа целые, не превышающие по модулю 10 000). Среди N чисел имеется хотя бы одно четное число.

Выходные данные
Вывести на экран минимальное четное число среди всех N чисел.

 

Примеры
Входные данные Выходные данные
1 5
-2
1
2
3
0
-2