Tower of Hanoi Program in C

Tower of Hanoi:

Tower of Hanoi is a famous recursive problem which is based on 3 pegs and a set of discs of different sizes. It consists of some wooden disks and three poles attached to a baseboard. The disks each have different diameters and a hole in the middle large enough for the poles to pass through. The object of the puzzle is to move all the disks over to the right pole, one at a time, so that they end up in the original order on that pole. The middle pole may be used as a temporary resting place for disks, but at no time is a larger disk to be on top of a smaller one. In the C program, we try to solve the Tower of Hanoi.

C Program for Tower of Hanoi:

```#include<stdio.h>
#include<conio.h>
void toh(int, char, char, char);
void main()
{
int n;
printf("Enter the number of disk: ");
scanf("%d", &n);
printf("Here is sequence of moves of tower of hanoi:\n");
toh(n, '1', '3', '2');
}
void toh(int no, char source, char destination, char spare)
{
if (no == 1)
{
printf("\n move disk 1 from source %c to destination %c", source, destination);
return;
}
toh(no - 1, source, spare, destination);
printf("\n move disk %d from source %c to destination %c", no, source, destination);
toh(no - 1, spare, destination, source);
getch();
}```

Output: