🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
ProgerLib Python für alle
Auf dem fernen Planeten XB-103 sammelt ein Forschungsroboter-Geologe Proben von Mineralien vom Förderband. Jede Mineralart hat ihre eigene eindeutige numerische Kennung (ID). Das Steuerungssystem des Roboters soll so effizient wie möglich arbeiten. Daher muss zur Optimierung des Speichers des Roboters am Ende der Schicht nur eine Zahl an den Zentralcomputer übermittelt werden: die maximale Länge der durchgehenden Reihe von Proben desselben Typs. Die Schicht des Roboters endet, wenn eine spezielle Kalibrierungsprobe mit der ID 0 eintrifft.
rnSie erhalten eine Sequenz von numerischen Mineral-IDs. Die Sequenz endet immer mit der Zahl 0, die das Ende der Schicht markiert und nicht die ID eines Minerals ist. Bestimmen Sie die größte Anzahl aufeinanderfolgender gleicher IDs in dieser Sequenz.
Ganze natürliche Zahlen werden eingegeben, jede in einer neuen Zeile. Die Sequenz endet mit der Zahl 0.
Eine Zahl & mdash; Die maximale Länge der kontinuierlichen Sequenz gleicher Elemente.
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)
🎉 Glückwunsch! 🎉
Du hast die Aufgabe hervorragend gelöst! Es war schwierig, aber du hast die Lösung gefunden. Du bist dem Meister einen Schritt näher! Mach weiter so.
AD
Werbung
Führe deinen Code aus...