fork download
  1. // A C++ program to solve the Tower of Hanoi problem
  2.  
  3. #include <iostream>
  4. using namespace std;
  5.  
  6. void moveTower(int n, char from_rod, char to_rod, char aux_rod) {
  7. if (n == 1) {
  8. cout << "Move disk 1 from rod " << from_rod << " to rod " << to_rod << endl;
  9. return;
  10. }
  11. moveTower(n - 1, from_rod, aux_rod, to_rod);
  12. cout << "Move disk " << n << " from rod " << from_rod << " to rod " << to_rod << endl;
  13. moveTower(n - 1, aux_rod, to_rod, from_rod);
  14. }
  15.  
  16. int main() {
  17. int n = 4; // Number of disks
  18. moveTower(n, 'A', 'C', 'B'); // A, B, and C are names of the rods
  19. return 0;
  20. }
  21.  
Success #stdin #stdout 0s 5300KB
stdin
Standard input is empty
stdout
Move disk 1 from rod A to rod B
Move disk 2 from rod A to rod C
Move disk 1 from rod B to rod C
Move disk 3 from rod A to rod B
Move disk 1 from rod C to rod A
Move disk 2 from rod C to rod B
Move disk 1 from rod A to rod B
Move disk 4 from rod A to rod C
Move disk 1 from rod B to rod C
Move disk 2 from rod B to rod A
Move disk 1 from rod C to rod A
Move disk 3 from rod B to rod C
Move disk 1 from rod A to rod B
Move disk 2 from rod A to rod C
Move disk 1 from rod B to rod C