Ξεκινάς μια μυστική λέσχη προγραμματισμού με κάποιους φίλους και φίλους φίλων. Δε γνωρίζονται όλοι μεταξύ τους, οπότε εσύ και οι φίλοι σου αποφασίσατε να φτιάξετε μια μυστική χειραψία, ώστε να αναγνωρίζετε ότι κάποιος είναι μέλος. Δεν θέλεις όποιος δεν τα ξέρει να μπορεί να σπάσει τον κώδικα.
Έχεις σχεδιάσει τον κώδικα έτσι ώστε ο ένας να λέει έναν αριθμό από το 1 έως το 31 και ο άλλος να τον μετατρέπει σε μια σειρά από ενέργειες.
Ο στόχος σου είναι να μετατρέψεις έναν αριθμό από το 1 έως το 31 σε μια ακολουθία ενεργειών στη μυστική χειραψία.
Η ακολουθία των ενεργειών καθορίζεται κοιτάζοντας τα πέντε δεξιότερα ψηφία του αριθμού, αφού πρώτα μετατραπεί σε δυαδικό σύστημα. Ξεκίνα από το δεξιότερο ψηφίο και προχώρα προς τα αριστερά.
Οι ενέργειες για κάθε θέση του αριθμού είναι:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
Ας χρησιμοποιήσουμε τον αριθμό 9 ως παράδειγμα:
1001.wink.Αυτό ήταν το τελευταίο ψηφίο, άρα ο τελικός κώδικας είναι:
wink, jump
Με τον αριθμό 26, που στο δυαδικό σύστημα είναι 11010, παίρνουμε τις εξής ενέργειες:
Η μυστική χειραψία για το 26 είναι επομένως:
jump, double blink
Αν δεν είσαι σίγουρος τι είναι το δυαδικό σύστημα ή πώς λειτουργεί, ρίξε μια ματιά σε αυτό το σεμινάριο για το δυαδικό σύστημα.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Wren με 117 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.