给定一个人的过敏分数,判断他是否对某个特定物品过敏,并列出他的全部过敏项。
一次过敏测试会得到一个数字分数,其中包含这个人(接受过测试的)所有过敏项的信息。
接受测试的物品(及其对应分值)如下:
因此,如果 Tom 对 peanuts 和 chocolate 过敏,他的得分就是 34。
现在,只给出 34 这个分数,你的程序应该能够判断:
注意:给定的分数可能包含上面没有列出的过敏原(即分值为 256、512、1024 等的过敏原)。 你的程序应该忽略分数中的这些部分。 例如,如果过敏分数是 257,你的程序应该只报告 eggs (1) 这一项过敏。
这个练习使用了unordered_set。
你可能需要用emplace函数来向集合中添加元素。
你可能会遇到const,因为教学大纲里还没讲到它。
当它加在变量前面时,就像一道保护措施。
const变量不能被修改。
这个练习还涉及unsigned关键字。
它会让所修饰整数的取值范围翻倍,但不会让它变成负数。