Filtración y agregación de datos multinivel con expresiones lambda
Kotlin
Hard
lambdas
Tarea «Filtración y agregación de datos multinivel con expresiones lambda»
Escriba un programa en Kotlin que lea desde la entrada estándar una lista de cadenas. Cada cadena contiene números separados por espacios. Utilizando expresiones lambda y funciones de orden superior (map, filter, reduce, takeWhile, dropWhile, etc.), se deben realizar las siguientes acciones: filtrar las cadenas en las que la cantidad de números sea múltiplo de 2, luego de cada una de esas cadenas seleccionar solo los números positivos (mayores que cero), y después para cada cadena calcular el producto de todos los números seleccionados, elevado a una potencia igual a la cantidad de números en la cadena original. Si después del filtrado no quedan números en la cadena, considerar el producto igual a 0. Mostrar los resultados en orden ascendente. Restricciones: la cantidad de cadenas no supera 100, cada número en valor absoluto no supera 1000.
Formato de entrada
La primera línea contiene un número entero N (1 ≤ N ≤ 100) — la cantidad de cadenas. Luego siguen N líneas, cada una de las cuales contiene números enteros separados por espacios. La cantidad de números en una línea no supera 50.
Formato de salida
Imprima N números enteros — los resultados del procesamiento de cada cadena, ordenados de forma ascendente, cada uno en una nueva línea.
Ejemplos
Ejemplo 1
ENTRADA
3
User Alice 25
Address Moscow Tverskaya
Product 1 Laptop 999.99
SALIDA
Для данного ввода задача не определена, так как строки не содержат только числа.
Ejemplo 2
ENTRADA
1
User Bob 30
SALIDA
Для данного ввода задача не определена, так как строка не содержит только числа.
main.kt