过敏

过敏

简单

说明

给定一个人的过敏评分,判断他是否对某个物品过敏,以及列出他所有的过敏项。

过敏测试会给出一个数字评分,其中包含这个人(接受测试的)所有过敏信息。

参与测试的物品清单(及其分值)如下:

  • 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 编辑 链接将在新窗口或新标签页中打开
Delphi Pascal Exercism

准备好开始 过敏 了吗?

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

深入探索 过敏!

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