Многоуровневая фильтрация и агрегация данных с помощью лямбда-выражений
Kotlin
Сложный
lambdas
Задача «Многоуровневая фильтрация и агрегация данных с помощью лямбда-выражений»
Напишите программу на Kotlin, которая считывает из стандартного ввода список строк. Каждая строка содержит числа, разделённые пробелом. Необходимо с помощью лямбда-выражений и функций высшего порядка (map, filter, reduce, takeWhile, dropWhile и т.п.) выполнить следующие действия: отфильтровать строки, в которых количество чисел кратно 2, затем из каждой такой строки выбрать только положительные числа (больше нуля), после чего для каждой строки вычислить произведение всех выбранных чисел, возведённое в степень, равную количеству чисел в исходной строке. Если после фильтрации в строке не осталось чисел, считать произведение равным 0. Результаты вывести в порядке возрастания. Ограничения: количество строк не превышает 100, каждое число по модулю не более 1000.
Формат ввода
Первая строка содержит целое число N (1 ≤ N ≤ 100) — количество строк. Затем следуют N строк, каждая из которых содержит целые числа, разделённые пробелами. Количество чисел в строке не превышает 50.
Формат вывода
Выведите N целых чисел — результаты обработки каждой строки, отсортированные по возрастанию, каждое на новой строке.
Примеры
Пример 1
ВВОД
3
User Alice 25
Address Moscow Tverskaya
Product 1 Laptop 999.99
ВЫВОД
Для данного ввода задача не определена, так как строки не содержат только числа.
Пример 2
ВВОД
1
User Bob 30
ВЫВОД
Для данного ввода задача не определена, так как строка не содержит только числа.
main.kt