Instruções

Torres de Hanói

Resolva o problema das Torres de Hanói. O número de objetos será dado como o primeiro parâmetro, seguido pelas strings usadas para identificar cada pilha de objetos. Crie um array aninhado contendo a lista de movimentos, ["source", "destination"]. Por exemplo, os parâmetros (4, 'A', 'B', 'C') resultarão em um array aninhado de movimentos [['A', 'C'], ['B', 'A']], indicando que o primeiro movimento foi mover um objeto da pilha A para a C e o segundo movimento foi mover um objeto da pilha B para a A.

O que fazer:

Escreva uma função que retorne os movimentos para empilhar os objetos em um array aninhado.

Critérios de Aceitação:

Testes:

  • `towerOfHanoi` deve ser uma função.
  • `towerOfHanoi(3, ...)` deve retornar 7 movimentos.
  • `towerOfHanoi(3, 'A', 'B', 'C')` deve retornar `[['A','B'], ['A','C'], ['B','C'], ['A','B'], ['C','A'], ['C','B'], ['A','B']]`.
  • O décimo movimento da `towerOfHanoi(5, "X", "Y", "Z")` deve ser Y -> X.
  • Os dez primeiros movimentos da `towerOfHanoi(7, 'A', 'B', 'C')` devem ser `[['A','B'], ['A','C'], ['B','C'], ['A','B'], ['C','A'], ['C','B'], ['A','B'], ['A','C'], ['B','C'], ['B','A']]`

Console