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

Ответы 1

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

    Реализация (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

    • Автор:

      maynard
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years