Бесплатный урок с нашим репетитором!

Узнать подробнее

Новая Школа - онлайн-школа подготовки к ЕГЭ
При поддержке
Посмотреть все вопросы нейросети
Бесплатный пробный урок с репетитором

Узнай больше про репетиторов Новой Школы и запишись на бесплатный пробный урок. Мы проверим твой уровень знаний и составим план обучения по любому предмету и классу

Вопрос от Анонимного юзера 27 апреля 2026 11:23

Задача 3 (сколько самых длинных слов) Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП. Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП. Выведи количество фамилий наибольшей длины.

Ответ нейросети

27 апреля 2026 11:23

Вот подробное решение задачи.

Цель задачи

  • Нужно прочитать последовательность фамилий до слова СТОП и определить, сколько фамилий имеют наибольшую (максимальную) длину.

Пошаговый алгоритм

  1. Инициализация:
    • max_len = 0 (максимальная встречавшаяся длина)
    • count = 0 (число фамилий с такой длиной)
  2. Для каждой введённой фамилии w до достижения слова "СТОП":
    • Длина текущей фамилии: l = длина(w)
    • Если l > max_len:
      • max_len = l
      • count = 1 Иначе, если l == max_len:
      • count += 1 Иначе (l < max_len): ничего не меняем
  3. Как только встретили "СТОП", вывести count.
  4. Особый случай: если перед словом "СТОП" не было ни одной фамилии, вывести 0.

Смысл решения

  • Мы поддерживаем текущую максимальную длину и количество фамилий, имеющих эту длину. Когда встречаем более длинную фамилию, сбрасываем счётчик до 1. Когда встречаем фамилию той же длины, увеличиваем счётчик. В конце — искомое количество.

Сложность

  • Время: On, где n — количество фамилий до СТОП.
  • Память: O(1) дополнительно.

Пример Ввод: Иванов Петров Кузнецов Иванов Степанов СТОП

  • Иванов: 6 -> max_len=6, count=1
  • Петров: 6 == max_len -> count=2
  • Кузнецов: 8 > max_len -> max_len=8, count=1
  • Иванов: 6 < max_len -> ничего
  • Степанов: 8 == max_len -> count=2
  • СТОП: завершаем

Вывод: 2

Готовый код на Python (для иллюстрации; можно адаптировать под ваш язык/среду) def count_max_surnames(words): max_len = 0 count = 0 for w in words: if w == "СТОП": break l = len(w) if l > max_len: max_len = l count = 1 elif l == max_len: count += 1 return count

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

Задай свой вопрос

Напиши любую задачу или вопрос, а нейросеть её решит

Похожие вопросы 15

Бесплатно Мобильное приложение ГДЗ
Мобильное приложение ГДЗ

Задавай вопросы искуcственному интеллекту текстом или фотографиями в приложении на iPhone или Android

qr-codegoogle-playapp-store

Саша — ассистент в телеграмме

Задача 3 (сколько самых длинных слов) Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП. Есть последовательность фамилий учеников. Последовательность заканчивается словом СТОП. Выведи количество фамилий наибольшей длины.
Вот подробное решение задачи. Цель задачи - Нужно прочитать последовательность фамилий до слова СТОП и определить, сколько фамилий имеют наибольшую (максимальную) длину. Пошаговый алгоритм 1) Инициализация: - max_len = 0 (максимальная встречавшаяся длина) - count = 0 (число фамилий с такой длиной) 2) Для каждой введённой фамилии w до достижения слова "СТОП": - Длина текущей фамилии: l = длина(w) - Если l > max_len: - max_len = l - count = 1 Иначе, если l == max_len: - count += 1 Иначе (l < max_len): ничего не меняем 3) Как только встретили "СТОП", вывести count. 4) Особый случай: если перед словом "СТОП" не было ни одной фамилии, вывести 0. Смысл решения - Мы поддерживаем текущую максимальную длину и количество фамилий, имеющих эту длину. Когда встречаем более длинную фамилию, сбрасываем счётчик до 1. Когда встречаем фамилию той же длины, увеличиваем счётчик. В конце — искомое количество. Сложность - Время: On, где n — количество фамилий до СТОП. - Память: O(1) дополнительно. Пример Ввод: Иванов Петров Кузнецов Иванов Степанов СТОП - Иванов: 6 -> max_len=6, count=1 - Петров: 6 == max_len -> count=2 - Кузнецов: 8 > max_len -> max_len=8, count=1 - Иванов: 6 < max_len -> ничего - Степанов: 8 == max_len -> count=2 - СТОП: завершаем Вывод: 2 Готовый код на Python (для иллюстрации; можно адаптировать под ваш язык/среду) def count_max_surnames(words): max_len = 0 count = 0 for w in words: if w == "СТОП": break l = len(w) if l > max_len: max_len = l count = 1 elif l == max_len: count += 1 return count Если хочешь, могу привести решение под конкретный язык программирования или привести дополнительные примеры.