Parcours
/
Cairo
Cairo
/
Exercices
/
Poignée de main secrète
Poignée de main secrète

Poignée de main secrète

Moyen

Introduction

On monte un club de programmation secret entre amis et amis d'amis. Comme tout le monde ne se connaît pas, on a décidé de créer une poignée de main secrète qui permet de reconnaître qu'une personne est membre. On ne veut pas que quelqu'un qui n'est pas dans le secret puisse déchiffrer le code.

Le code est conçu pour qu'une personne énonce un nombre entre 1 et 31, et que l'autre le transforme en une série d'actions.

Instructions

Ton objectif est de convertir un nombre compris entre 1 et 31 en une séquence d'actions dans la poignée de main secrète.

On choisit la séquence d'actions en regardant les cinq chiffres les plus à droite du nombre, une fois converti en binaire. Commence par le chiffre le plus à droite et va vers la gauche.

Les actions pour chaque position sont :

00001 = wink
00010 = double blink
00100 = close your eyes
01000 = jump
10000 = Reverse the order of the operations in the secret handshake.

Prenons le nombre 9 comme exemple :

  • 9 en binaire s'écrit 1001.
  • Le chiffre le plus à droite est 1, donc la première action est wink.
  • En allant vers la gauche, le chiffre suivant est 0, donc pas de double blink.
  • En allant encore vers la gauche, le chiffre suivant est 0, donc tu gardes les yeux ouverts.
  • En allant encore vers la gauche, le chiffre suivant est 1, donc tu sautes.

C'était le dernier chiffre, donc le code final est :

wink, jump

Avec le nombre 26, qui vaut 11010 en binaire, on obtient les actions suivantes :

  • double blink
  • jump
  • inverser les actions

La poignée de main secrète pour 26 est donc :

jump, double blink
Note

Si tu ne sais pas ce qu'est le binaire ou comment il fonctionne, jette un œil à ce tutoriel sur le binaire.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Cairo Exercism

Prêt à commencer Poignée de main secrète ?

Inscris-toi sur Exercism pour apprendre et maîtriser Cairo avec 25 concepts68 exercices, et un vrai mentorat humain, le tout gratuitement.