Ctrl K

Квадрат равен произведению пары

Средняя
Даны два массива положительных чисел first и second. Посчитайте тройки индексов двух видов: - (i, j, k), где first[i]² == second[j] * second[k] и j < k; - (i, j, k), где second[i]² == first[j] * first[k] и j < k. Иначе говоря, квадрат числа из одного массива должен равняться произведению двух разных по индексу элементов другого массива. Верните общее количество таких троек обоих видов.
Пример 1
first=[6, 3], second=[4, 9, 12, 1] → 2

6² = 36 = 3 · 12 и 3² = 9 = 9 · 1 — две тройки, где квадрат берётся из first. Из second подходящих квадратов нет: например, 4² = 16, а произведения пар в first — только 18.

Пример 2
first=[2, 2], second=[2, 2] → 4

Каждая из четырёх двоек в квадрате даёт 4, и это произведение единственной пары в другом массиве: 4 тройки.

Пример 3
first=[5], second=[7] → 0

В каждом массиве по одному числу, пару составить не из чего.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 1000
  • 1 ≤ first[i], second[i] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПрокрутка массива вправо СредняяВертикальная ось симметрии СредняяЗначения параболы по порядку СредняяТройки равноудалённых точек СредняяЦикл прыжков в одну сторону Средняя
загружаем Python…
Вход
first=[6, 3], second=[4, 9, 12, 1]
Ожидается
2

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