Ctrl K

Произведения без квадратов

Средняя
Дан массив натуральных чисел values. Число называется *свободным от квадратов*, если оно не делится ни на один квадрат целого числа, кроме 1 (например, 30 — да, а 12 = 4 · 3 — нет). Выборка — это непустой набор позиций массива. Две выборки различны, если различаются наборы позиций, даже когда значения на них совпадают. Верните количество выборок, произведение элементов которых свободно от квадратов. Ответ может быть большим — верните его по модулю 10⁹ + 7.
Пример 1
values=[2, 6, 9, 5] → 5.0

9 = 3² сразу не годится. Из 2, 6, 5 подходят {2}, {6}, {5}, {2, 5}, {6, 5}; а {2, 6} даёт 12, которое делится на 4. Итого 5.

Пример 2
values=[1, 1, 7] → 7.0

Единицы ничему не мешают: годится любая непустая выборка, их 2³ − 1 = 7.

Пример 3
values=[4, 8, 25] → 0.0
Ограничения
  • 1 ≤ len(values) ≤ 1000
  • 1 ≤ values[i] ≤ 30
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиМеньше всего прямых через точки СредняяДве группы с одинаковым средним СложнаяЦепочки с квадратными суммами СложнаяПроизведение различных простых СложнаяПодтянуть числа под делители Сложная
загружаем Python…
Вход
values=[2, 6, 9, 5]
Ожидается
5.0

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 60 тестов на сервере, включая скрытые.