Здесь идет объяснение. Посмотри на картинку ->
Позвонив по номеру Movetower(3,a,b,c)
, вы намереваетесь переместить все 3 диска из башни A
в башню B
. Таким образом, последовательные вызовы ->
1. Movetower(3,a,b,c) // No Move needed
2. Movetower(2,a,c,b) // No move needed
3. Movetower(1,a,b,c) // Here is the time to move, move disc1 from a to b
4. Movetower(2,a,c,b) // Returning to this call again, this is the time to move disc2 from a to c
5. Movetower(1,b,c,a) // Again the time to move, this time disc1 from b to c
6. Movetower(3,a,b,c) // Returning to this call again, this is the time to move disc3 from a to b
7. Movetower(2,c,b,a) // Not the time to move
8. Movetower(1,c,a,b) // Here is the time to move, move disc1 from c to a
9. Movetower(2,c,b,a) // Returning to this call again, this is the time to move disc2 from c to b
10.Movetower(1,c,a,b) // Here is the time to move, move disc1 from a to b
Надеюсь, это поможет:)
Для анимации: https://www.cs.cmu.edu/~cburch/survey/recurse/hanoiex.html