Dato il punteggio di allergia di una persona, determina se è allergica o no a un determinato elemento e il suo elenco completo di allergie.
Un test di allergia produce un unico punteggio numerico che contiene le informazioni su tutte le allergie che la persona ha (quelle per cui è stata testata).
L'elenco degli elementi (e il loro valore) che sono stati testati è:
Quindi, se Tom è allergico a peanuts e chocolate, ottiene un punteggio di 34.
Ora, dato solo quel punteggio di 34, il programma deve essere in grado di dire:
Nota: un dato punteggio può includere allergeni non elencati sopra (cioè allergeni che hanno un valore di 256, 512, 1024, ecc.). Il programma deve ignorare quelle componenti del punteggio. Ad esempio, se il punteggio di allergia è 257, il programma deve riportare solo l'allergia a eggs (1).
Iscriviti a Exercism per imparare e padroneggiare Delphi Pascal con 76 esercizi e il mentoring di persone reali, tutto gratis.
Esploriamo lo spostamento di bit, il confronto bit a bit e altri concetti sui numeri binari! Diamo anche un'occhiata a una soluzione che usa il pattern matching e a un approccio interessante in Erlang basato sulla ricorsione.