**Also Read: Graphs: Introduction and Terminology**

**Also Read: C Program to Create a Binary Tree Using Recursion [Linked Representation]**

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

*#include<stdio.h>*

*void TOH(int,char,char,char);*

*void main()*

*{*

* int n;*

* printf(“How many plates?”);*

* scanf(“%d”,&n);*

* TOH(n,’A’,’B’,’C’);*

*}*

*void TOH(int n,char x,char y,char z)*

*{*

* if(n>0)*

* {*

* TOH(n-1,x,z,y);*

* printf(“n%c -> %c”,x,y);*

* TOH(n-1,z,y,x);*

* }*

*}*

**Source:** Wikipedia

6J4XXVUMND9H