Δεδομένης της βαθμολογίας αλλεργίας ενός ατόμου, προσδιόρισε αν είναι αλλεργικό σε ένα δεδομένο στοιχείο, καθώς και την πλήρη λίστα των αλλεργιών του.
Ένα τεστ αλλεργίας παράγει μία μόνο αριθμητική βαθμολογία, η οποία περιέχει τις πληροφορίες για όλες τις αλλεργίες που έχει το άτομο (για τις οποίες εξετάστηκε).
Η λίστα των στοιχείων (και η τιμή τους) που ελέγχθηκαν είναι:
Έτσι, αν ο Tom είναι αλλεργικός στα peanuts και στο chocolate, παίρνει βαθμολογία 34.
Τώρα, δεδομένης μόνο αυτής της βαθμολογίας 34, το πρόγραμμά σου θα πρέπει να μπορεί να πει:
Σημείωση: μια δεδομένη βαθμολογία μπορεί να περιλαμβάνει αλλεργιογόνα που δεν αναφέρονται παραπάνω (δηλ. αλλεργιογόνα που βαθμολογούνται με 256, 512, 1024, κ.λπ.). Το πρόγραμμά σου θα πρέπει να αγνοεί αυτές τις συνιστώσες της βαθμολογίας. Για παράδειγμα, αν η βαθμολογία αλλεργίας είναι 257, το πρόγραμμά σου θα πρέπει να αναφέρει μόνο την αλλεργία στα eggs (1).
Οι παραπάνω οδηγίες είναι συγχρονισμένες με ένα κοινό αποθετήριο, ώστε να διασφαλίζεται η συνέπεια σε όλες τις γλωσσικές διαδρομές. Αυτό το παράρτημα παρέχει πρόσθετες διευκρινίσεις ή τροποποιεί τις οδηγίες όπως χρειάζεται, ώστε να ευθυγραμμίζονται καλύτερα με τους στόχους της διαδρομής Clojure.
Για αυτή την άσκηση στη διαδρομή Clojure, μπορείς να θεωρήσεις ότι η έξοδος της συνάρτησης allergies είναι ένα διάνυσμα, όπως υποδεικνύουν τα tests.
Ωστόσο, αυτό δεν είναι αυστηρή απαίτηση· μπορείς να επιστρέψεις ελεύθερα οποιαδήποτε ακολουθιακή συλλογή.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Clojure με 12 έννοιες105 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Εξερευνούμε τη μετατόπιση bit, τη σύγκριση bitwise και άλλες έννοιες των δυαδικών αριθμών! Ρίχνουμε επίσης μια ματιά σε μια λύση με αντιστοίχιση προτύπων και σε μια ενδιαφέρουσα προσέγγιση στην Erlang με αναδρομή.