Wednesday, February 18, 2015
C Program for Tower of Hanoi Problem
The Tower of Hanoi (also called the Tower of Brahma or Lucas Tower and sometimes pluralised) 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.

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:
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("
%c -> %c",x,y);
TOH(n-1,z,y,x);
}
}

Source: Wikipedia
6J4XXVUMND9H

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.
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("
%c -> %c",x,y);
TOH(n-1,z,y,x);
}
}
Source: Wikipedia
6J4XXVUMND9H
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.