Rutas
/
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 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. Examina los posibles puntos de puesta y anota un 1 si hay un huevo o un 0 si el punto está vacío.
  2. Convierte el número de binario a decimal.
  3. Muestra el resultado en la pantalla.

Ejemplo 1

Siete cajas nido individuales dispuestas en fila, en las que los nidos primero, tercero, cuarto y séptimo 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 cajas nido individuales dispuestas en fila, en las que 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 es contar el número de bits a 1 en la representación binaria de un número.

Restricciones

¡No toques la funcionalidad de conteo de bits que incluye tu biblioteca estándar! Resuélvelo tú mismo con otras herramientas básicas.

Apéndice

Note

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.

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

¿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.