Tu amiga Eliud heredó una granja de su abuela Tigist. Su abuela era inventora y tenía tendencia a construir las cosas de una forma 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 las posiciones se calcula del siguiente modo:
1 si hay un huevo o un 0 si el punto está 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 es contar el número de bits a 1 en la representación binaria de un número.
¡No toques la funcionalidad de conteo de bits que incluye tu biblioteca estándar! Resuélvelo tú mismo con otras herramientas básicas.
Las instrucciones anteriores se sincronizan con un repositorio compartido para garantizar la coherencia entre todos los tracks de lenguajes. Este apéndice ofrece aclaraciones adicionales o modifica las instrucciones según sea necesario para ajustarse mejor a los objetivos del track de Clojure.
Es importante no usar funciones integradas existentes con una funcionalidad similar a la de la función que estás implementando, ya que hacerlo reduciría el valor didáctico que el ejercicio pretende aportar.
En Clojure no hay ninguna función integrada para contar el número 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 este fin: bitCount.
Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.