Tracks
/
Clojure
Clojure
/
Ejercicios
/
Los huevos de Eliud
Los huevos de Eliud

Los huevos de Eliud

Fácil

Introducción

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. Recorre los posibles lugares donde podrían poner huevos y anota un 1 para un huevo que existe o un 0 para un lugar vacío.
  2. Convierte el número de binario a decimal.
  3. Muestra el resultado en la pantalla.

Ejemplo 1

Siete nidos individuales dispuestos en fila en los que el primero, el tercero, el cuarto y el séptimo nido tienen cada uno un solo huevo.

 _ _ _ _ _ _ _
|E| |E|E| | |E|

Binario resultante

1011001

 _ _ _ _ _ _ _
|1|0|1|1|0|0|1|

Número decimal en la pantalla

89

Huevos reales en el gallinero

4

Ejemplo 2

Siete nidos individuales dispuestos en fila donde solo el cuarto nido tiene un huevo.

 _ _ _ _ _ _ _
| | | |E| | | |

Binario resultante

0001000

 _ _ _ _ _ _ _
|0|0|0|1|0|0|0|

Número decimal en la pantalla

8

Huevos reales en el gallinero

1

Instrucciones

Tu tarea consiste en contar cuántos bits valen 1 en la representación binaria de un número.

Restricciones

¡No uses esa funcionalidad para contar bits que te ofrece tu biblioteca estándar! Resuélvelo por tu cuenta con otras herramientas básicas.

Apéndice

Note

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.

Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Clojure Exercism

¿Todo listo para empezar Los huevos de Eliud?

Regístrate en Exercism para aprender y dominar Clojure con 12 conceptos105 ejercicios y mentoría humana real, todo gratis.