Clojure - Funcions amb nombres U28436


Statement
 

pdf   zip

En aquest problema heu d’implementar una sèrie de funcions en Clojure. No cal que pregunteu si podeu fer servir funcions auxiliars, és evident que sí.

  1. Feu una funció @abs-value@ que, donat un enter, retorni el seu valor absolut.

  2. Feu una funció recursiva @power1@ que, donats un enter xx i un natural pp, retorni xx elevat a pp, és a dir, xpx^p.

  3. Feu una funció @power2@ (amb looploop i recurrecur) que, donats un enter xx i un natural pp, retorni xx elevat a pp, és a dir, xpx^p. Per solucionar

  4. Feu una funció @prime?@ que, donat un natural, indiqui si aquest és primer o no.

Observacions

Per resoldre aquest problema no podeu utilitzar les funcions que ja incorpora Clojure com la del valor absolut o la potència.

Puntuació

Cada funció puntua 25 punts.

Public test cases
  • Input

    (abs-value -666)
    (power1 2 3)
    (power2 2 3)
    (prime? 17)
    
    

    Output

    666
    8
    8
    true
    
    
  • Information
    Author
    Albert Rubio / Jordi Petit / Gerard Escudero
    Language
    Catalan
    Official solutions
    Clojure
    User solutions
    Clojure