This blog consists of C and C++ programs. C and C++ programming is the basics to learn any programming language. Most of the programs are provided with their respective outputs. This blog also contains Data Structures programs using Object-Oriented Programming (C++). Some of the best books for learning C and C++ programming are also mentioned.

Monday 19 August 2013

C program to demonstrate or solve Hanoi Tower

The Tower of Hanoi (also called the Tower of Brahma or Lucas' Tower) 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 rules: 
  • Only one disk must be moved at a time.
  • Each move consists of taking the upper disk from one of the rods and sliding it onto another rod, on top of the other disks that may already be present on that rod.
  • No disk may be placed on top of a smaller disk.
The puzzle can be played with any number of disks, although many toy versions have around seven to nine of them. The minimum number of moves required to solve a Tower of Hanoi puzzle is 2n - 1, where n is the number of disks. With three disks, the puzzle can be solved in seven moves.
 
Program:
#include<stdio.h>
void main()
{
void honoi(int, char, char, char);
int n;
clrscr();
printf("How many disk? ");
scanf("%d",&n);
honoi(n,'L','R','C');
getch();
}
void honoi(int n, char from, char to, char temp)
{
if(n>0)
{
honoi(n-1, from, temp, to);
printf("Move the disk %d from %c to %c\n",n,from,to);
honoi(n-1,temp,to,from);
}
}


1 comment: