0
0 комментариев

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

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

Условие:

Последовательность состоит из различных натуральных чисел и
завершается числом 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 может быть только в конце списка, поэтому проверку на ноль исключил. Как я понял, второй максимум — это вторая по величине цифра. Т.е. первая цифра всегда является первым максимумом, а второй максимум — любая цифра, превосходящая первый максимум. Однако, примеры с указанного выше сайта утверждают обратное.

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

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

Спасибо.

Изменен статус публикации
Добавить комментарий