Dato il punteggio delle allergie di una persona, determina se è allergica o meno a un determinato elemento e l'elenco completo delle sue allergie.
Un test allergologico produce un unico punteggio numerico che contiene le informazioni su tutte le allergie della persona (quelle per cui è stata testata).
L'elenco degli elementi testati (con il loro valore) è:
Quindi, se Tom è allergico a peanuts e chocolate, ottiene un punteggio di 34.
Ora, dato solo quel punteggio di 34, il programma dovrebbe essere in grado di dire:
Nota: un determinato punteggio può includere allergeni non elencati sopra (cioè allergeni che valgono 256, 512, 1024, ecc.). Il programma dovrebbe ignorare quelle componenti del punteggio. Per esempio, se il punteggio delle allergie è 257, il programma dovrebbe segnalare solo l'allergia eggs (1).
Questo esercizio usa l'unordered_set
Probabilmente ti servirà la funzione emplace per aggiungere elementi all'insieme.
Potresti imbatterti in const, perché non è ancora comparso nel programma del corso.
Quando precede una variabile, funziona come una salvaguardia.
Le variabili const non possono essere modificate.
Questo esercizio presenta anche la parola chiave unsigned.
Questa raddoppia l'intervallo dell'intero a cui è anteposta, ma non gli permette di diventare negativo.
Iscriviti a Exercism per imparare e padroneggiare C++ con 19 concetti100 esercizi e il mentoring di persone reali, tutto gratis.
Esploriamo lo spostamento di bit, il confronto bit a bit e altri concetti sui numeri binari! Diamo anche un'occhiata a una soluzione che usa il pattern matching e a un approccio interessante in Erlang basato sulla ricorsione.