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

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

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

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

Вопрос от Анонимного юзера 16 марта 2026 17:20

Дано число N, затем в N строках N имён учеников из списка класса, а под ними — N оценок этих учеников (в том же порядке). Выведи имена всех учеников, которые получили пятерки.

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

16 марта 2026 17:20

Решение задачи: вывести имена учеников, которые получили пятерки

Краткое понимание задачи

  • В начале дано число N.
  • Затем идут N строк с именами учеников (одна строка — одно имя).
  • Под ними идут N оценок тех же учеников в том же порядке (одна или несколько оценок на строку; по сути — нужно взять первые N целых чисел после имен).
  • Нужно вывести те имена, у которых соответствующая оценка равна 5.

Пошаговое объяснение

  1. Прочитать N.
  2. Прочитать N имен и сохранить их в списке names.
    • Предполагаем, что каждое имя занимает отдельную строку.
  3. Прочитать N оценок, учитывая, что они могут построчно быть по одной цифре или записаны несколькими цифрами в одной строке.
    • Собираем градации в список grades, и продолжаем читать, пока не наберём N значений. Игнорируем пустые строки.
  4. Пройтись по индексу i от 0 до N-1 и вывести names[i], если grades[i] == 5.
  5. Сложность: время O(N), память O(N).

Особенности

  • Если оценки даны на одной строке через пробел, код обрабатывает это нормально.
  • Если кто-то получил не число или есть лишние данные — код ориентирован на корректный ввод по задаче.

Пример реализации на Python (чтение из stdin)

def solve(): import sys

# Шаг 1: прочитать N
line = ''
while line.strip() == '':
    line = sys.stdin.readline()
    if line == '':
        return  # нет данных
N = int(line.strip())

# Шаг 2: прочитать N имен
names = []
while len(names) < N:
    s = sys.stdin.readline()
    if s == '':
        break
    names.append(s.rstrip('\n').rstrip('\r'))

# В случае, если прочитано меньше N имен (структура input нестандартна),
# можно завершить или обработать как есть. Предположим корректный ввод.

# Шаг 3: прочитать N оценок
grades = []
while len(grades) < N:
    line = sys.stdin.readline()
    if line == '':
        break
    parts = line.strip().split()
    for p in parts:
        if p:
            grades.append(int(p))
            if len(grades) == N:
                break

# Шаг 4: вывести имена с пятёрками
out = []
for i in range(min(N, len(grades), len(names))):
    if grades[i] == 5:
        out.append(names[i])

sys.stdout.write("\n".join(out))

if name == "main": solve()

Пример теста

  • Ввод: 4 Анна Борис Виктор Галина 5 3 5 4
  • Вывод: Анна Виктор

Другой вариант ввода (оценки в одной строке): 3 Иван Петр София 5 4 5

  • Вывод: Иван София

Этим ответом вы получаете корректный список всех учеников, которые получили пятерки, в порядке их появления.

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

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

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

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

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

qr-codegoogle-playapp-store

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

Дано число N, затем в N строках N имён учеников из списка класса, а под ними — N оценок этих учеников (в том же порядке). Выведи имена всех учеников, которые получили пятерки.
Решение задачи: вывести имена учеников, которые получили пятерки Краткое понимание задачи - В начале дано число N. - Затем идут N строк с именами учеников (одна строка — одно имя). - Под ними идут N оценок тех же учеников в том же порядке (одна или несколько оценок на строку; по сути — нужно взять первые N целых чисел после имен). - Нужно вывести те имена, у которых соответствующая оценка равна 5. Пошаговое объяснение 1) Прочитать N. 2) Прочитать N имен и сохранить их в списке names. - Предполагаем, что каждое имя занимает отдельную строку. 3) Прочитать N оценок, учитывая, что они могут построчно быть по одной цифре или записаны несколькими цифрами в одной строке. - Собираем градации в список grades, и продолжаем читать, пока не наберём N значений. Игнорируем пустые строки. 4) Пройтись по индексу i от 0 до N-1 и вывести names[i], если grades[i] == 5. 5) Сложность: время O(N), память O(N). Особенности - Если оценки даны на одной строке через пробел, код обрабатывает это нормально. - Если кто-то получил не число или есть лишние данные — код ориентирован на корректный ввод по задаче. Пример реализации на Python (чтение из stdin) def solve(): import sys # Шаг 1: прочитать N line = '' while line.strip() == '': line = sys.stdin.readline() if line == '': return # нет данных N = int(line.strip()) # Шаг 2: прочитать N имен names = [] while len(names) < N: s = sys.stdin.readline() if s == '': break names.append(s.rstrip('\n').rstrip('\r')) # В случае, если прочитано меньше N имен (структура input нестандартна), # можно завершить или обработать как есть. Предположим корректный ввод. # Шаг 3: прочитать N оценок grades = [] while len(grades) < N: line = sys.stdin.readline() if line == '': break parts = line.strip().split() for p in parts: if p: grades.append(int(p)) if len(grades) == N: break # Шаг 4: вывести имена с пятёрками out = [] for i in range(min(N, len(grades), len(names))): if grades[i] == 5: out.append(names[i]) sys.stdout.write("\n".join(out)) if __name__ == "__main__": solve() Пример теста - Ввод: 4 Анна Борис Виктор Галина 5 3 5 4 - Вывод: Анна Виктор Другой вариант ввода (оценки в одной строке): 3 Иван Петр София 5 4 5 - Вывод: Иван София Этим ответом вы получаете корректный список всех учеников, которые получили пятерки, в порядке их появления.