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