Filtragem multinível e agregação de dados com expressões lambda
Kotlin
Hard
lambdas
Tarefa «Filtragem multinível e agregação de dados com expressões lambda»
Escreva um programa em Kotlin que lê da entrada padrão uma lista de strings. Cada string contém números separados por espaço. É necessário usar expressões lambda e funções de ordem superior (map, filter, reduce, takeWhile, dropWhile etc.) para executar as seguintes ações: filtrar as strings cuja quantidade de números seja múltipla de 2; em seguida, de cada uma dessas strings, selecionar apenas os números positivos (maiores que zero); depois, para cada string, calcular o produto de todos os números selecionados, elevado à potência igual à quantidade de números na string original. Se após a filtragem não restarem números na string, considerar o produto igual a 0. Exibir os resultados em ordem crescente. Restrições: a quantidade de strings não excede 100, e cada número em módulo não é maior que 1000.
Formato de Entrada
A primeira linha contém um número inteiro N (1 ≤ N ≤ 100) — a quantidade de strings. Em seguida, vêm N strings, cada uma contendo números inteiros separados por espaços. A quantidade de números em cada string não excede 50.
Formato de Saída
Exiba N números inteiros — os resultados do processamento de cada string, ordenados em ordem crescente, cada um em uma nova linha.
Exemplos
Exemplo 1
ENTRADA
3
User Alice 25
Address Moscow Tverskaya
Product 1 Laptop 999.99
SAÍDA
Для данного ввода задача не определена, так как строки не содержат только числа.
Exemplo 2
ENTRADA
1
User Bob 30
SAÍDA
Для данного ввода задача не определена, так как строка не содержит только числа.
main.kt