
На Python Дана последовательность натуральных чисел, завершающаяся число 0. Определите наибольшую
длину монотонного фрагмента последовательности (то есть такого фрагмента, где все элементы либо больше предыдущего, либо меньше).Числа, следующие за числом 0, считывать не нужно.Входные данныеДана последовательность натуральных чисел, завершающаяся число 0.Выходные данныеВыведите ответ на задачу.входные данные177910выходные данные2

Ответы на вопрос

Ответ:
Объяснение:
def getSeqLength(a):
if len(a) <= 2: return len(a)
maxmlofs = 1
counter = 1
for i in range(2,len(a)):
if (a[i-1] <= a[i-2] and a[i-1] <= a[i]) or (a[i-1] >= a[i-2] and a[i-1] >= a[i]):
maxmlofs = max(maxmlofs, counter)
counter = 1
else:
counter += 1
print(maxmlofs)
return maxmlofs
a = []
for i in range(0,100):
t = int(input())
a.append(t)
if t == 0: break
print(a)
getSeqLength(a)



Для решения данной задачи можно использовать цикл while и переменные для хранения текущей и максимальной длины монотонного фрагмента последовательности.
Сначала инициализируем переменные: current_len = 1, max_len = 0. (current_len - текущая длина монотонного фрагмента, max_len - максимальная длина монотонного фрагмента)
Затем входим в цикл, пока не достигнут конец последовательности (число 0). Внутри цикла будем считывать числа, сравнивать их с предыдущими и увеличивать current_len в случае совпадения условия монотонности.
Пример кода на Python:
current_len = 1 max_len = 0 prev_num = int(input())
while prev_num != 0: num = int(input()) if (prev_num > num and current_len > 0) or (prev_num < num and current_len < 0): current_len += 1 else: if abs(current_len) > max_len: max_len = abs(current_len) current_len = 1 if prev_num != num else 0 prev_num = num
print(max_len)
В данном коде мы используем переменную prev_num для хранения предыдущего числа, которое вводится сначала до цикла, а потом внутри цикла на каждой итерации. Таким образом, мы можем сравнивать текущее число с предыдущим и проверять, сохраняется ли условие монотонности последовательности.
Далее, если условие монотонности выполняется, то увеличиваем current_len на 1. Иначе, если длина текущего фрагмента больше максимальной, то обновляем max_len.
Таким образом, после прохода по всей последовательности чисел мы получим максимальную длину монотонного фрагмента и выводим ее на экран.
В результате выполнения данного кода для входных данных "177910" будет выведено число 2, что означает, что максимальная длина монотонного фрагмента равна 2.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili