En aquest problema heu d’implementar una sèrie de funcions en Clojure utilitzant la funció @reduce@. No cal que pregunteu si podeu fer servir funcions auxiliars, és evident que sí.
Feu una funció power que, donats un enter i un natural , retorni elevat a , és a dir, .
Feu una funció my-count que, donada una llista d’enters, calculi la seva mida.
Feu una funció average que, donada una llista d’enters no buida, calculi la seva mitjana.
Feu una funció build-palindrome que, donada una llista, retorni el palíndrom que comença amb la llista invertida.
Feu una funció odds-n-evens que, donada una llista d’enters, retorni dues llistes (en un altre llista), una que conté els parells i una que conté els senars, en el mateix ordre relatiu que a l’original.
Feu una funció remove-list que donada una llista d’enters i una llista d’enters , retorna la llista havent eliminat totes les ocurrències dels elements en .
Per resoldre aquest problema no podeu utilitzar les funcions que ja incorpora Clojure com la del valor absolut o la potència.
Input
(power 2 3) (my-count '(2 1 3)) (average '(2 1 3)) (build-palindrome '(2 1 3)) (odds-n-evens '(1 2 3)) (remove-list '(1 2 3 4) '(1 2))
Output
8 3 2 (3 1 2 2 1 3) ((1 3) (2)) (3 4)