Cifra no sentido horário

Published by Mubashir Hassan in

Em Cifra no sentido horário, a codificação é feita colocando os caracteres da mensagem nas células dos cantos de um quadrado e avançando no sentido horário.

Crie uma função que receba um argumento message e retorne a mensagem codificada.

Há algumas variações nas regras de cifragem. Uma versão das regras da cifra é apresentada abaixo:

message = "Mubashir Hassan"

clockwiseCipher(message) ➞ "Ms ussahr nHaaib"

Etapa 1: Forme um quadrado grande o suficiente para comportar todos os caracteres da mensagem. A mensagem fornecida cabe em um quadrado de 4 x 4.

Etapa 2: Começando pelo canto superior esquerdo, coloque os caracteres da mensagem nas células dos cantos, avançando no sentido horário. Depois que o primeiro ciclo for concluído, continue colocando os caracteres nas células seguintes à última em sua respectiva linha/coluna. Quando as células externas estiverem preenchidas, continue com os quadrados internos restantes:

Msu
ssah
rnH
aaib

Etapa 3: Retorne a mensagem codificada por linhas:

eMessage = "Ms ussahr nHaaib"

Exemplo de um quadrado de 5 x 5

[ 1  5  9 13  2]
[16 17 21 18  6]
[12 24 25 22 10]
[ 8 20 23 19 14]
[ 4 15 11  7  3]

Exemplos

clockwiseCipher("Mubashir Hassan") ➞ "Ms ussahr nHaaib"

clockwiseCipher("Matt MacPherson") ➞ "M ParsoMc nhteat"

clockwiseCipher("Edabit is amazing") ➞ "Eisadng  tm    i   zbia a"

Observações

  • Preencha todas as células não utilizadas com um caractere de espaço.
  • A mensagem pode conter espaços e caracteres especiais.