Alergias

Alergias

Fácil

Instrucciones

Dada la puntuación de alergias de una persona, determina si es alérgica o no a un elemento dado, y su lista completa de alergias.

Una prueba de alergias produce una sola puntuación numérica que contiene la información de todas las alergias que tiene la persona (aquellas para las que se le hizo la prueba).

La lista de elementos (y su valor) que se probaron es:

  • eggs (1)
  • peanuts (2)
  • shellfish (4)
  • strawberries (8)
  • tomatoes (16)
  • chocolate (32)
  • pollen (64)
  • cats (128)

Entonces, si Tom es alérgico a peanuts y chocolate, obtiene una puntuación de 34.

Ahora bien, con solo esa puntuación de 34, tu programa debería poder decir:

  • Si Tom es alérgico a alguno de los alérgenos de la lista anterior.
  • Todos los alérgenos a los que Tom es alérgico.

Nota: una puntuación dada puede incluir alérgenos no listados arriba (es decir, alérgenos que valen 256, 512, 1024, etc.). Tu programa debe ignorar esos componentes de la puntuación. Por ejemplo, si la puntuación de alergias es 257, tu programa solo debe reportar la alergia a eggs (1).

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

¿Todo listo para empezar Alergias?

Regístrate en Exercism para aprender y dominar Delphi Pascal con 76 ejercicios y mentoría humana real, todo gratis.

¡Profundiza en Alergias!

¡Exploramos el desplazamiento de bits, la comparación a nivel de bits y otros conceptos de números binarios! También echamos un vistazo a una solución que usa coincidencia de patrones y a un enfoque interesante en Erlang que usa recursión.