Clojure - Funcions d'ordre superior 1 U86019


Statement
 

pdf   zip

thehtml

En aquest problema heu d’implementar una sèrie de funcions en Clojure utilitzant només funcions d’ordres superior.

  1. Feu una funció f1 que, donada una llista d’enters, filtri els nombres parells, multipliqui cada nombre per 2 i després sumi tots els elements.
  2. Feu una funció f2 que prengui un vector d’enters, elimini els negatius, prengui els tres primers nombres i multipliqui cadascun per 10.
  3. Feu una funció f3 que rebi una llista de nombres, elimini els nombres més petits que 5, multipliqui els resultants per 3 i els ordeni en ordre descendent.
  4. Feu una funció f4 que prengui una llista de nombres, elimini aquells que siguin múltiples de 3, prengui els primers 5 resultats i els elevi al quadrat.
Public test cases
  • Input

    (f1 '(2 1 3 4))
    (f2 [2 -1 1 3 -2 4 -3 5])
    (f3 '(2 6 1 3 8 4 -3 5))
    (f4 '(2 6 1 3 8 4 -3 5 7))
    
    

    Output

    12
    (20 10 30)
    (40 30 25)
    (4 1 64 16 25)
    
    
  • Information
    Author
    Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure