Dada a pontuação de alergia de uma pessoa, determine se ela é alérgica a um determinado item e qual é a lista completa de alergias dela.
Um teste de alergia produz uma única pontuação numérica, que contém as informações sobre todas as alergias que a pessoa tem (aquelas para as quais ela foi testada).
A lista dos itens testados (e seus valores) é:
Então, se Tom é alérgico a peanuts e chocolate, ele recebe uma pontuação de 34.
Agora, dada apenas essa pontuação de 34, seu programa deve ser capaz de dizer:
Observação: uma determinada pontuação pode incluir alérgenos não listados acima (ou seja, alérgenos que valem 256, 512, 1024 etc.). Seu programa deve ignorar esses componentes da pontuação. Por exemplo, se a pontuação de alergia for 257, seu programa deve informar apenas a alergia a eggs (1).
Crie sua conta no Exercism para aprender e dominar Ballerina com 60 exercícios e mentoria humana de verdade, tudo de graça.
Exploramos deslocamento de bits, comparação bit a bit e outros conceitos de números binários! Também damos uma olhada em uma solução que usa correspondência de padrões e em uma abordagem interessante em Erlang com recursão.