C++ Program to Solve Tower of Hanoi using Recursion
Tower of Hanoi:
Tower of Hanoi is a famous recursive problem which is based on 3 pegs and a set of the disc with different sizes. In C++, we try to solve Tower of Hanoi using Recursion, but for that, we must follow some rules:
Rules of Tower of Hanoi:
1. Only one disc can be moved at a time.
2. Only the top disc on any peg can be moved to any other peg.
3. A larger disc can’t be placed on a smaller peg.
Tower of Hanoi in C++ using recursion:
Program:
#include<iostream.h> #include<conio.h> using namespace std; void TOH(int d, char t1, char t2, char t3) { if(d==1) { cout<<"\nShift top disk from tower "<<t1<<" to tower "<<t2; return; } TOH(d-1,t1,t3,t2); cout<<"\nShift top disk from tower "<<t1<<" to tower "<<t2; TOH(d-1,t3,t2,t1); } int main() { int disk; cout<<"Enter the number of disks: "; cin>>disk; if(disk<1) cout<<"There are no disks to shift"; else cout<<"There are "<<disk<<" disks in tower 1\n"; TOH(disk, '1','2','3'); cout<<"\n\n"<<disk<<" disks in tower 1 are shifted to tower 2"; getch(); return 0; }
Output: