Percursos
/
Pyret
Pyret
/
Exercícios
/
Aperto de mão secreto
Aperto de mão secreto

Aperto de mão secreto

Fácil

Introdução

Estás a criar um clube secreto de programação com alguns amigos e com amigos desses amigos. Nem todos se conhecem, por isso tu e os teus amigos decidiram criar um aperto de mão secreto que possam usar para reconhecer que alguém é membro. Não queres que alguém que não esteja por dentro consiga decifrar o código.

Desenhaste o código de forma a que uma pessoa diga um número entre 1 e 31 e a outra o transforme numa série de ações.

Instruções

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

A sequência de ações é escolhida olhando para os cinco algarismos mais à direita do número depois de o converteres para binário. Começa no algarismo mais à direita e avança 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:

  • O 9 em binário é 1001.
  • O algarismo mais à direita é 1, por isso a primeira ação é wink.
  • Avançando para a esquerda, o algarismo seguinte é 0, por isso não há double blink.
  • Avançando outra vez para a esquerda, o algarismo seguinte é 0, por isso deixas os olhos abertos.
  • Avançando mais uma vez para a esquerda, o algarismo seguinte é 1, por isso dás um salto.

Esse era o último algarismo, por isso o código final é:

wink, jump

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

  • double blink
  • jump
  • reverse actions

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

jump, double blink
Note

Se não tens a certeza do que é o binário ou de como funciona, dá uma vista de olhos a este tutorial sobre binário.

Editar via GitHub A ligação abre numa nova janela ou separador
Pyret Exercism

Estás pronto para começar Aperto de mão secreto?

Inscreve-te no Exercism para aprenderes e dominares Pyret com 66 exercícios, e mentoria humana real, tudo grátis.