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

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


DarkTatarin: А как заканчивается последовательность? Числом 0 или в начале вводится одно количество чисел?
mrjohnwatson: просто последовательность чисел, не имеет значения на что заканчивается последовательность.
teacher1011: решение с помощью множеств:
list_1 = set(map(int, input().split()))
a = max(list_1)
list_1.remove(a)
b = max(list_1)
print(b)
mrjohnwatson: множество - это не список?
mrjohnwatson: если нет, то спасибо
DarkTatarin: Да, множество — список
teacher1011: список это список, а множество это множество)) это разные структуры данных!
DarkTatarin: А не, teacher1011 прав, а я нет. Но я не уверен, что они множества проходили и учитель у них будет ожидать это

Ответы

Автор ответа: DarkTatarin
1

Пусть тебе сначала даётся число n — количество чисел в последовательности, а потом числа. Тогда:

Вместо точек пробелы

n = int(input())

m = -10 ** 10

second_m = -10 ** 10

for i in range(n):

....num = int(input())

....if num > m:

........second_m, m = m, num

....if second_m < num < m:

........second_m = num

print(second_m)

n — количество чисел, m — максимум, second_m — второй максимум, num — число последовательности

Похожие вопросы
Предмет: Окружающий мир, автор: Нереида134
Предмет: ОБЖ, автор: лолкалч