Here you will get C program for tower of hanoi problem using recursion.
The Tower of Hanoi (also called the Tower of Brahma or Lucas’ Tower 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 as shown in below image.
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.
Animated solution of the Tower of Hanoi Puzzle for T(4,3)
C Program using recursion is given below which finds solution for Tower of Hanoi Problem.
C Program for Tower of Hanoi Problem Using Recursion
printf("How many plates?");
void TOH(int n,char x,char y,char z)
printf("\n%c -> %c",x,y);
How many plates?3
A -> B
A -> C
B -> C
A -> B
C -> A
C -> B
A -> B
Comment below if you have doubts or found anything incorrect related to above program for tower of hanoi in C.
5 thoughts on “C Program for Tower of Hanoi Problem Using Recursion”
Can be send me another output for this towers of hanoi
How Recursion helps to solve the puzzle?
I am following this website since when i was doing my engineering.. this website helped me alot. thank you for all the programs. your programs are really amazing..!
Can u please trace the the program
can you tell me how recursion is taking place step by step for 3 no.of plates