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í.
Feu una funció abs-value que, donat un enter,
retorni el seu valor absolut.
Feu una funció recursiva power1 que, donats un enter
i un natural
,
retorni
elevat a
,
és a dir,
.
Feu una funció power2 (amb
i
)
que, donats un enter
i un natural
,
retorni
elevat a
,
és a dir,
.
Per solucionar
Feu una funció prime? que, donat un natural, indiqui
si aquest és primer o no.
Per resoldre aquest problema no podeu utilitzar les funcions que ja incorpora Clojure com la del valor absolut o la potència.
Cada funció puntua 25 punts.
Input
(abs-value -666) (power1 2 3) (power2 2 3) (prime? 17)
Output
666 8 8 true