🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
ProgerLib Python para todos
no distante planeta XB-103, um robô geólogo de pesquisa coleta amostras de minerais de uma esteira transportadora. Cada tipo de mineral possui seu próprio identificador numérico único (ID). O sistema de controle do robô deve funcionar da forma mais eficiente possível, portanto, para otimizar o armazenamento do robô, é necessário transferir apenas um número para o computador central ao final do turno: qual foi o comprimento máximo da série contínua de amostras do mesmo tipo. O turno do robô termina quando uma amostra de calibração especial com ID 0 é encontrada.
você recebe uma sequência de identificadores numéricos de minerais. A sequência sempre termina com o número 0, que indica o fim do turno e não é o ID do mineral. Determine o maior número de IDs iguais consecutivos nesta sequência.
Números naturais inteiros são introduzidos, cada um em uma nova linha. A sequência termina com o número 0.
Um número & mdash; O comprimento máximo da sequência contínua dos mesmos elementos.
1
7
7
7
2
2
9
0
3
# Инициализируем переменные для подсчета
# max_len - хранит максимальную найденную длину серии
# current_len - хранит длину текущей серии одинаковых чисел
# prev_n - хранит предыдущее число для сравнения с текущим
max_len = 0
current_len = 0
# Используем -1 как начальное значение, так как ID минералов - натуральные числа
prev_n = -1
# Запускаем бесконечный цикл, который прервется при вводе 0
while True:
# Считываем очередной ID и преобразуем его в целое число
n = int(input())
# Условие выхода из цикла - конец смены
if n == 0:
break
# Сравниваем текущий ID с предыдущим
if n == prev_n:
# Если они равны, увеличиваем счетчик текущей серии
current_len += 1
else:
# Если числа не равны, значит серия прервалась.
# Сначала проверяем, не была ли закончившаяся серия самой длинной
if current_len > max_len:
max_len = current_len
# Начинаем новую серию с текущего числа. Ее длина равна 1.
current_len = 1
# Обновляем "предыдущее" число
prev_n = n
# После завершения цикла нужно выполнить еще одну проверку.
# Это необходимо для случая, когда самая длинная серия оказалась в самом конце
# последовательности, прямо перед нулем.
if current_len > max_len:
max_len = current_len
# Выводим результат
print(max_len)
🎉 Parabéns! 🎉
Você resolveu a tarefa brilhantemente! Foi difícil, mas você encontrou a solução certa. Você está um passo mais perto de dominar a programação! Continue assim.
AD
Publicidade
Executando seu código...