Tu amiga Eliud heredó una granja de su abuela Tigist. Su abuela era inventora y tenía la tendencia de construir cosas de una manera demasiado complicada. El gallinero tiene una pantalla digital que muestra un número codificado que representa las posiciones de todos los huevos que se podrían recoger.
Eliud te pide que escribas un programa que muestre el número real de huevos que hay en el gallinero.
La codificación de la información de posiciones se calcula así:
1 para un huevo que existe o un 0 para un lugar vacío. _ _ _ _ _ _ _
|E| |E|E| | |E|
_ _ _ _ _ _ _
|1|0|1|1|0|0|1|
89
4
_ _ _ _ _ _ _
| | | |E| | | |
_ _ _ _ _ _ _
|0|0|0|1|0|0|0|
8
1
Tu tarea consiste en contar cuántos bits valen 1 en la representación binaria de un número.
¡No uses esa funcionalidad para contar bits que te ofrece tu biblioteca estándar! Resuélvelo por tu cuenta con otras herramientas básicas.
Las instrucciones anteriores están sincronizadas con un repositorio compartido para garantizar la coherencia entre todas las pistas de lenguajes. Este apéndice ofrece aclaraciones adicionales o modifica las instrucciones según sea necesario para alinearlas mejor con los objetivos de la pista de Clojure.
Es importante que no uses funciones integradas existentes con una funcionalidad similar a la de la función que estás implementando, ya que hacerlo reduciría el valor de aprendizaje que se busca con el ejercicio.
En Clojure no existe una función integrada para contar la cantidad de bits de un número, así que puedes usar cualquier función de Clojure en tu implementación.
Sin embargo, Java sí incluye una función para esto: bitCount.
Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.