::Tower of Hanoi ::
The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower,[1] and sometimes pluralized) is amathematical game or puzzle. It consists of three rods, and a number of disks of different sizes which can slide onto any rod. The puzzle starts with the disks in a neat stack in ascending order of size on one rod, the smallest at the top, thus making a conical shape
.
The objective of the puzzle is to move the entire stack to another rod, obeying the following simple rules:
- Only one disk can be moved at a time.
- Each move consists of taking the upper disk from one of the stacks and placing it on top of another stack i.e. a disk can only be moved if it is the uppermost disk on a stack.
- No disk may be placed on top of a smaller disk.
With three disks, the puzzle can be solved in seven moves. The minimum number of moves required to solve a Tower of Hanoi puzzle is 2n - 1, where n is the number of disks.
#include <iostream> using namespace std; void towers(int, char, char, char); int main() { int num; cout<<"Enter the number of disks : "<<endl; cin>>num; cout<<"The sequence of moves of the Tower of Hanoi are :\n"<<endl; towers(num, 'A', 'C', 'B'); return 0; } void towers(int num, char A, char B, char C) { if (num == 1) { cout<<"\nMove disk "<<num<<" from peg "<< A<<" to peg "<< B<<endl; return ; } towers(num - 1, A, C, B); cout<<"Move disk "<< num <<" from peg "<< A<<" to peg "<<B; towers(num - 1, C, B, A); }