Filtrage multi-niveaux et agrégation de données à l’aide d’expressions lambda

Kotlin Hard lambdas

Tâche «Filtrage multi-niveaux et agrégation de données à l’aide d’expressions lambda»

Écrivez un programme en Kotlin qui lit depuis l’entrée standard une liste de chaînes. Chaque chaîne contient des nombres séparés par un espace. À l’aide d’expressions lambda et de fonctions d’ordre supérieur (map, filter, reduce, takeWhile, dropWhile, etc.), effectuez les opérations suivantes : filtrer les chaînes dont le nombre de nombres est un multiple de 2, puis, pour chaque chaîne ainsi filtrée, ne sélectionner que les nombres positifs (supérieurs à zéro), puis calculer pour chaque chaîne le produit de tous les nombres sélectionnés, élevé à la puissance égale au nombre de nombres dans la chaîne d’origine. Si après filtrage il ne reste aucun nombre dans une chaîne, considérer le produit comme égal à 0. Afficher les résultats dans l’ordre croissant. Contraintes : le nombre de chaînes ne dépasse pas 100, chaque nombre en valeur absolue ne dépasse pas 1000.

Format d\ entrée

La première ligne contient un entier N (1 ≤ N ≤ 100) — le nombre de chaînes. Viennent ensuite N lignes, chacune contenant des entiers séparés par des espaces. Le nombre de nombres par ligne ne dépasse pas 50.

Format de sortie

Affichez N entiers — les résultats du traitement de chaque chaîne, triés par ordre croissant, chacun sur une nouvelle ligne.

Exemples

Exemple 1

ENTRÉE
3 User Alice 25 Address Moscow Tverskaya Product 1 Laptop 999.99
SORTIE
Для данного ввода задача не определена, так как строки не содержат только числа.

Exemple 2

ENTRÉE
1 User Bob 30
SORTIE
Для данного ввода задача не определена, так как строка не содержит только числа.
main.kt