本题把若干过敏原分别编码为 2 的幂,再用总分记录一个人的过敏原组合。这是位掩码的练习情境,不用于真实的医学诊断。
任务说明
根据一个人的过敏分值,判断其是否对指定项目过敏,并列出全部过敏项目。
过敏检测会给出一个数值,其中编码了受测者对所有已检测项目的过敏情况。
检测项目及对应值如下:
- eggs,鸡蛋:1。
- peanuts,花生:2。
- shellfish,贝类:4。
- strawberries,草莓:8。
- tomatoes,番茄:16。
- chocolate,巧克力:32。
- pollen,花粉:64。
- cats,猫:128。
例如,汤姆对花生和巧克力过敏,分值为 34。
仅给定分值 34,程序应能说明:
- 汤姆是否对上述某个具体项目过敏。
- 汤姆对哪些项目过敏。
注意:分值可能包含未列出的过敏项目,如 256、512、1024 等,应忽略这些部分。例如 257 只应报告鸡蛋过敏,因为 257 中已知项目仅包含 1。