Número feliz

Los números felices se definen por el siguiente procedimiento: empezando con cualquier número entero positivo, se reemplaza el número por la suma de los cuadrados de sus dígitos, y se repite el proceso hasta que el número es igual a 1 o hasta que se entra en un bucle que no incluye el 1. Los números que al finalizar el proceso terminan con 1, son conocidos como números felices. Aquellos que no, son conocidos como números infelices (o tristes). Un número primo que además es un número feliz se llama primo feliz.

Fuente: Wikipedia

Defina las funciones feliz?, infeliz?, primo-feliz? tal que dado un número entero positivo regresan true segun sea el caso, false en caso contrario.

La fórmula, una lista de números felices y una lista de números primos felices se encuentran en la Wikipedia.

Restricciones

  • No es posible hacer uso de recursividad ni de las funciones loop (recur), do, map, mapv y pmap de Clojure.
  • No es posible hacer uso de ifs.