Alergias

Alergias

Fácil

Instruções

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) é:

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

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:

  • Se Tom é alérgico a qualquer um dos alérgenos listados acima.
  • Quais são todos os alérgenos aos quais Tom é alérgico.

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

Editar via GitHub O link abre em uma nova janela ou aba
Fortran Exercism

Tudo pronto para começar Alergias?

Crie sua conta no Exercism para aprender e dominar Fortran com 39 exercícios e mentoria humana de verdade, tudo de graça.

Mergulho profundo em Alergias!

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.