Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3601338
А
Аноним
16 апреля 2026 07:03 · публичный вопрос
А
Аноним

Рост 22 учеников класса представлен в виде массива. Определить количество учеников, рост которых не превышает значения r . питон

Ответ нейросети
16 апреля 2026 07:03

Задача: данные ростов 22 учеников в виде массива. Нужно посчитать, сколько ростов не превышают значения r.

Пояснение по решению

  • Мы ищем количество элементов массива heights, которые удовлетворяют условию h <= r.
  • Это можно сделать за один проход по массиву: увеличить счетчик каждый раз, когда элемент <= r.
  • В Python это удобно реализовать через генератор в функции sum или через цикл.

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

  1. Получаем массив heights и порог r.
  2. Создаем счетчик count = 0.
  3. Для каждого роста h в heights:
    • если h <= r, увеличиваем count на 1.
  4. Возвращаем count.

Решение на Python (вариант 1: функция) def count_not_exceeding(heights, r): return sum(1 for h in heights if h <= r)

Пример использования (для наглядности) heights = [150, 162, 158, 170, 149, 155, 160, 163, 157, 152, 164, 149, 151, 156, 161, 159, 154, 148, 170, 165, 153, 150] # 22 элемента r = 160 print(count_not_exceeding(heights, r)) # Результат: 15

Пояснение к примеру

  • Из 22 чисел ровно 15 значений не превышают 160.

Решение без функции (однострочно) heights = [150, 162, 158, 170, 149, 155, 160, 163, 157, 152, 164, 149, 151, 156, 161, 159, 154, 148, 170, 165, 153, 150] r = 160 count = sum(1 for h in heights if h <= r) print(count) # 15

Сложность

  • Временная сложность: O(n), где n — количество элементов в heights (для 22 элементов — константно на практике).
  • Дополнительной памяти не требуется (или O(1) в зависимости от реализации).

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