NumPy: вычисления и устройство массивов

Векторная арифметика и where/clip

Содержание курса

Пять строк вывода: степень, остаток, where, clip и арифметика

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.

Что нужно сделать

Напишите программу, которая:

  1. Читает из stdin одну строку с целыми числами через пробел — элементы массива a (от 3 до 7 элементов, все положительные, не менее 2).
  2. Читает вторую строку с тремя целыми числами: p lo hi — показатель степени, нижняя и верхняя границы.
  3. Вычисляет и выводит ровно пять строк в следующем порядке:
  • Строка 1: элементы a ** p через пробел.
  • Строка 2: элементы a % p через пробел.
  • Строка 3: элементы результата np.where(a >= lo, "big", "small") через пробел.
  • Строка 4: элементы результата np.where(a % 2 == 0, 1, 0) через пробел.
  • Строка 5: элементы np.clip(a, lo, hi) через пробел.

Каждая строка — значения через пробел, без лишних пробелов в начале и в конце.

Ввод и вывод

Программа читает stdin и пишет в stdout.

Формат ввода

  • Строка 1: целые числа через пробел — элементы массива a (от 3 до 7 элементов, все ≥ 2).
  • Строка 2: три целых числа через пробел: p lo hi (2 ≤ p ≤ 4, lo < hi, оба входят в диапазон значений a).

Формат вывода

Ровно пять строк: a**p, a%p, результат where со строками, результат where с 0/1, clip(a, lo, hi) — каждый через пробел.

О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

Проверяется тестами (1)
  • Тест 1
    Ввод
    2 3 4 5 6
    2 4 5
    Ожидаемый вывод
    4 9 16 25 36
    0 1 0 1 0
    small small big big big
    1 0 1 0 1
    4 4 4 5 5
    
Решение
Как проверяется решение

Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.