Trilhas
/
Perl
Perl
/
Exercícios
/
Aperto de mão secreto
Aperto de mão secreto

Aperto de mão secreto

Fácil

Introdução

Você está começando um clube secreto de programação com alguns amigos e amigos de amigos. Nem todo mundo se conhece, então você e seus amigos decidiram criar um aperto de mão secreto que vocês possam usar para reconhecer que alguém é um membro. Você não quer que alguém que não esteja por dentro consiga decifrar o código.

Você criou o código de modo que uma pessoa diz um número entre 1 e 31 e a outra o transforma em uma série de ações.

Instruções

Sua tarefa é converter um número entre 1 e 31 em uma sequência de ações do aperto de mão secreto.

A sequência de ações é escolhida observando os cinco dígitos mais à direita do número depois de convertê-lo para binário. Comece pelo dígito mais à direita e siga para a esquerda.

As ações para cada posição do número são:

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

Vamos usar o número 9 como exemplo:

  • 9 em binário é 1001.
  • O dígito mais à direita é 1, então a primeira ação é wink.
  • Seguindo para a esquerda, o próximo dígito é 0, então não há double blink.
  • Seguindo para a esquerda de novo, o próximo dígito é 0, então você mantém os olhos abertos.
  • Seguindo para a esquerda mais uma vez, o próximo dígito é 1, então você salta.

Esse era o último dígito, então o código final é:

wink, jump

Dado o número 26, que é 11010 em binário, obtemos as seguintes ações:

  • double blink
  • jump
  • inverter as ações

O aperto de mão secreto para 26 é, portanto:

jump, double blink
Note

Se você não tem certeza do que é binário ou de como ele funciona, confira este tutorial de binário.

Editar via GitHub O link abre em uma nova janela ou aba
Perl Exercism

Tudo pronto para começar Aperto de mão secreto?

Crie sua conta no Exercism para aprender e dominar Perl com 5 conceitos84 exercícios e mentoria humana de verdade, tudo de graça.