03
Апр
2016

Что является "вторым максимумом" в задаче?

Здравствуйте!

Источник задачи.

Условие:

Последовательность состоит из различных натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности. Гарантируется, что в последовательности есть хотя бы два элемента.

Моё решение:

old = int(input())
k=1
i = int(input())
while(i != 0):
    if(i>old):
        print(i)
        k+=1
        break
    else:
        old = i
        i = int(input())
if(k!=2):
    print(old)

Пояснение:

Допускаю, что цифра 0 может быть только в конце списка, поэтому проверку на ноль исключил. Как я понял, второй максимум - это вторая по величине цифра. Т.е. первая цифра всегда является первым максимумом, а второй максимум - любая цифра, превосходящая первый максимум. Однако, примеры с указанного выше сайта утверждают обратное.

Пример: введите сюда описание изображения

В чём я ошибаюсь и как решить тогда задачу?

Спасибо.

Источник: https://ru.stackoverflow.com/questions/509430/%D0%A7%D1%82%D0%BE-%D1%8F%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%D1%81%D1%8F-%D0%B2%D1%82%D0%BE%D1%80%D1%8B%D0%BC-%D0%BC%D0%B0%D0%BA%D1%81%D0%B8%D0%BC%D1%83%D0%BC%D0%BE%D0%BC-%D0%B2-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B5

Share

Тебе может это понравится...