21
Jun 08

Challenge: Alien Numbers

:: challenges :: by Gilberto Saraiva

Camaradas,

Esse desafio é baseado no desafio do Google CodeJam
que estou participando (você também pode participar).

O desafio dos Números Alienígenas

Linguagem/Tema

Qualquer uma. O importante e a resposta certa com a formatação certa.

Nível

Difícil

Regras
  • Não há regras
  • O Problema

    Nós, seres humanos, temos um sistema numérico que possuí 10 digitos: 0, 1, 2, 3, 4, 5, 6, 7, 8 e 9. Imagine você se deparando com um pedido oficial do governo, de suma importância, dizendo que receberam várias mensagens alienígenas encadeadas e que é preciso que alguém decodifique-as. Perante uma análise prévia dos técnicos da inteligência, algumas conclusões foram feitas:

  • As mensagens estão serapadas por linha
  • Cada mensagem indicará 2 número, o sistema numérico base
    número_alienigina_1 número_alienigina_2 sistema_numérico_base
  • Cada sistema numérico alienigina pode possuir letras de A até Z, números de 0 a 9, e os caracteres !”#$%&’()*+,-./:;<=>?@[\]^_`{|}~, todos distintos entre si
  • O primeiro número indicará uma uma letra do nosso alfabeto
  • O segundo número indicará a ordem da letra
  • Baixe aqui a lista de Mensagens:
    Mensagens alienígenas

    Objetivo

    Assim que você decodificar cada mensagem, coloque-as em ordem e nos envie, aqui mesmo.

    Exemplo

    Para facilitar a decodificação criei um pequeno exemplo, em um sistema numérico alienígena:

     plain |  copy code |? 
    1
    2X5JyQn0f*%YB~h9
    
    2
    2
    
    3
    9
    
    4
    Xh
    
    5
    5~

    1º linha: indica o sistema numérico alienigina.
    2º linha: o número zero no sistema alienigina.
    3º linha: o número 15.
    4º linha: o número 30.
    5º linha: o número 45.

    Esse desafio se destina a todos que possuem grande entendimento em lógica e criação de algoritmos específicos.

    As dúvidas e questionamentos podem ser postados aqui!
    O primeiro que acertar, vou entrar em contato e disponibilizar um espaço aqui para que ele demonstre como fez.

    Abraços.

    O Vencedor do Desafio foi:
    Pierre Henrique Lehnen, Igrejinha/RS
    http://www.phenrique.com.br

    Resposta do e-mail:

  • Gostaria de declarar algumas palavras sobre como solucionou o desafio?
    Não tenho muito o que falar, se imaginar cada símbolo como sendo um número e considerar que estão em ordem, basta converter o número da base informada para base decimal, substituindo o símbolo pelos nossos números tradicionais.
    Como o segundo número de cada linha (correspondente à ordem) já estava ordenado (apesar de decrescente), não me preocupei em criar uma rotina para ordenar conforme. Tendo todos os números traduzidos, bastou obter o digíto ascii equivalente e a sentença foi revelada.
  • Quais linguagens usou?
    Usei Delphi 7 .
  • O desafio realmente tem nível difícil ao seu ver?
    Sinceramente, não. Não levei mais do que alguns minutos para concluir, sem nem precisar esquentar a cabeça. :)
  • Você participa do CodeJam?
    Não.
    Confesso que nem sei muito sobre o CodeJam, vou dar uma pesquisada sobre ele e se não for algo que me tome muito tempo, pode ser que eu participe.
  • OBS: Não vou publicar a resposta, se você acha que acertou pode postar a resposta aqui, eu entro em contato e lhe informo se acertou.

    Tags: ,


    Leave a comment