給定一個人的過敏分數,判斷他是否對某個特定項目過敏,並列出他全部的過敏項目。
過敏測試會產生一個數字分數,這個分數包含這個人所有(曾接受測試的)過敏項目的資訊。
接受測試的項目(與其對應數值)如下:
所以,如果 Tom 對 peanuts 和 chocolate 過敏,他的分數就是 34。
現在,只給你 34 這個分數,你的程式應該要能回答:
注意:某個分數可能包含不在上面清單裡的過敏原(也就是分數為 256、512、1024 等以上的過敏原)。 你的程式應該忽略分數中的這些部分。 例如,如果過敏分數是 257,你的程式應該只回報 eggs(1)這項過敏。
這個練習會用到unordered_set。
要把元素加進集合裡,你可能會需要emplace函式。
你或許會遇到const,因為它還沒在課程大綱裡出現過。
當它加在變數前面時,作用就像一層防護。
const變數不能被修改。
這個練習也會用到unsigned關鍵字。
它會讓加上的整數範圍變成兩倍,但不會讓它變成負數。