Предмет: Информатика, автор: badican

Задача «Второй максимум» Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности. Гарантируется, что в последовательности есть хотя бы два элемента. решите пожалуйста без списков только циклы , любые ,если можно с пояснениями

Ответы

Автор ответа: nelle987
0

В задаче достаточно держать в памяти два числа: наибольшее и второе по величине – и обновлять эту пару, считывая числа. Если считанное число больше максимального, то оно будет новым максимумом, а бывший максимум станет вторым по величине; если считанное число меньше максимального, но больше второго по величине, то оно становится новым вторым по величине.


Реализация (python 3):

max, max2 = int(input()), int(input())

if max2 > max:

    max, max2 = max2, max


while True:

    t = int(input())

    if t == 0: break

    if t > max:

        max, max2 = t, max

    elif t > max2:

        max2 = t

print(max2)


Пример ввода:

5

1

3

2

4

0


Пример вывода:

4

Похожие вопросы
Предмет: Окружающий мир, автор: Аноним
Предмет: Алгебра, автор: platovaramina42
Предмет: Алгебра, автор: nastyacat131