Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №2920928
А
Аноним
09 марта 2025 19:38 · публичный вопрос
А
Аноним

Дано число N, затем элементы массива — целые числа. Проверь, что в массиве есть кусок, где 3 раза повторяется последний элемент. Программа должна вывести "ДА", если встречается, и…

Запрос пользователя

Дано число N, затем элементы массива — целые числа. Проверь, что в массиве есть кусок, где 3 раза повторяется последний элемент. Программа должна вывести "ДА", если встречается, и "НЕТ", если не встречается. Ввод Вывод 6 5 4 3 3 3 3 ДА 4 1 2 1 1 НЕТ

Ответ нейросети
09 марта 2025 19:38

Для данной задачи нам необходимо проверить, есть ли в массиве участок, где последний элемент повторяется три раза подряд. Давайте разберем решение пошагово.

Шаг 1: Ввод данных

Сначала мы должны получить данные. У нас есть число \( N \) — это размер массива, а затем \( N \) чисел, которые будут сами элементами этого массива.

Шаг 2: Определение последнего элемента

Последний элемент массива будет использоваться для проверки. Если мы выразим массив через переменные, то последний элемент будет находиться по индексу \( N - 1 \).

Шаг 3: Проверка на повторение

Нам нужно проверить, есть ли в массиве три последовательных элемента, равных последнему элементу.

Шаг 4: Вывод результата

Если такой участок найден, мы выводим "ДА", в противном случае — "НЕТ".

Псевдокод

Теперь запишем это в виде псевдокода:

1. Вводим число N
2. Создаем массив и заполняем его N элементами
3. Определяем последний элемент массива как last_element = array[N - 1]
4. Инициализируем счетчик count = 0
5. Для i от 0 до N - 1:
   a. Если array[i] == last_element:
      i. Увеличиваем count на 1
   b. Иначе:
      i. Сбрасываем count до 0
   c. Если count == 3, выводим "ДА" и завершаем программу
6. Если перебрали весь массив и не нашли, выводим "НЕТ"

Пример реализации на Python

N = int(input())
array = []
for _ in range(N):
    array.append(int(input()))

last_element = array[-1]
count = 0

for i in range(N):
    if array[i] == last_element:
        count += 1
        if count == 3:
            print("ДА")
            break
    else:
        count = 0
else:  # Эта часть выполнится, если не было break
    print("НЕТ")

Объяснение кода

  1. Ввод данных: Мы сначала считываем целое число \( N \) и затем заполняем массив.
  2. Получаем последний элемент: Используем array[-1] для определения последнего элемента массива.
  3. Проверка на совпадения: В цикле проверяем каждый элемент массива:
    • Если элемент равен последнему (last_element), увеличиваем счетчик.
    • Если счетчик становится равным 3, выводим "ДА" и выходим из цикла с помощью break.
    • Если элемент не совпадает, сбрасываем счетчик.
  4. Вывод результата: Если не нашли три последовательных элемента, выводим "НЕТ".

Теперь вы можете протестировать данный код на ваших входных данных, и он должен правильно определять, есть ли в массиве участок с тремя повторяющимися последними элементами.