Friday 10 December 2010

tower of hanoi


The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower,[1] and sometimes pluralized) is a mathematical 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.h>
 #include<conio.h>
 void main()
 {
  int n;
  clrscr();
  void toh(int,int,int,int);
  cout<<"enter no of disks\n";
  cin>>n;
  toh(n,1,2,3);
  getch();
}
void toh(int n,int p1,int p2,int p3)
{
 if(n>0)
 {
  toh(n-1,p1,p3,p2);
  cout<<endl<<"Move a disk from pole"<<p1<<"to pole"<<p3<<endl;
  toh(n-1,p2,p1,p3);
 }
}


output:
pole 1 to pole 2
pole 1 to pole 3
pole 2 to pole 3
*/





to see diagrametic steps pictures click here http://www.mathcs.emory.edu/~cheung/Courses/170/Syllabus/13/hanoi.html


c programs
recursive function






No comments:

Post a Comment