轨道
/
V
V
/
练习
/
过敏
过敏

过敏

简单

说明

给定一个人的过敏分数,判断他是否对某个特定物品过敏,并列出他的全部过敏项。

一次过敏测试会得到一个数字分数,其中包含这个人(接受过测试的)所有过敏项的信息。

接受测试的物品(及其对应分值)如下:

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

因此,如果 Tom 对 peanuts 和 chocolate 过敏,他的得分就是 34。

现在,只给出 34 这个分数,你的程序应该能够判断:

  • Tom 是否对上面列出的任何一种过敏原过敏。
  • Tom 过敏的全部过敏原。

注意:给定的分数可能包含上面没有列出的过敏原(即分值为 256、512、1024 等的过敏原)。 你的程序应该忽略分数中的这些部分。 例如,如果过敏分数是 257,你的程序应该只报告 eggs (1) 这一项过敏。

通过 GitHub 编辑 链接将在新窗口或新标签页中打开
V Exercism

准备好开始 过敏 了吗?

注册 Exercism,借助 113 个练习 和真人导师指导,学习并掌握 V,全部免费。

深入探索 过敏!

我们来探索位移、按位比较以及其他二进制数的概念!还会看看使用模式匹配的解法,以及在 Erlang 中用递归实现的一个有趣思路。