Dojo #32: Sequência Numérica
Exemplo de solução para o
Kata Sequência Numérica
realizado em 9 de setembro de 2009 na
Reunião #32
do
Dojo Rio
1
.
Problema
A partir de um número inicial mostrar a menor sequência numérica para chegar a outro número utilizando 3 operações:
multiplicar por 2
dividir por 2 (só aceito resultado inteiro)
somar 2
2
.
Solução
PercorrerSequência (origem, destino):
return Achar ([origem])
_______________________________________________
Achar (sequência)
sequência.last == destino: return sequência
sequência.last repetido em sequência: parar esta tentativa
tentar todas funções
Achar (sequência << sequência.last * 2)
sequência.last é par: Achar (sequência << sequência.last / 2)
Achar (sequência << sequência.last + 2)