Stai fondando un club di programmazione segreto con alcuni amici e con amici di amici. Non tutti si conoscono tra loro, così tu e i tuoi amici avete deciso di creare una stretta di mano segreta da usare per riconoscere chi è un membro. Non vuoi che chi non è del giro riesca a decifrare il codice.
Avete progettato il codice in modo che una persona dica un numero tra 1 e 31 e l'altra lo trasformi in una serie di azioni.
Il tuo compito è convertire un numero compreso tra 1 e 31 in una sequenza di azioni della stretta di mano segreta.
La sequenza di azioni si sceglie guardando le cinque cifre più a destra del numero una volta convertito in binario. Inizia dalla cifra più a destra e procedi verso sinistra.
Le azioni per ogni posizione sono:
00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.
Usiamo il numero 9 come esempio:
1001.wink.Questa era l'ultima cifra, quindi il codice finale è:
wink, jump
Dato il numero 26, che in binario è 11010, otteniamo le seguenti azioni:
La stretta di mano segreta per 26 è quindi:
jump, double blink
Se non sei sicuro di cosa sia il sistema binario o di come funzioni, dai un'occhiata a questo tutorial sul sistema binario.
Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.