#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int n,moves;
void tower(int n,int a,int b,int c)
{
if(n==0)
{
printf("NO DISK TO MOVE \n");
return;
}
else if(n==1)
{
printf("MOVE DISK %d FROM %c TO %c \n",n,a,c);
return;
}
else
{
tower(n-1,a,c,b);
printf("MOVE DISK %d FROM %c TO %c \n",n,a,c);
tower(n-1,b,a,c);
}
}
void main()
{
printf("ENTER THE NUMBER OF DISKS :\n");
scanf("%d",&n);
tower(n,'A','B','C');
moves=(pow(2,n))-1;
printf("THE TOTAL NUMBER OF MOVES = %d\n",moves);
}
#include<stdio.h>
#include<math.h>
int tower(int n,char s,char ax,char d)
{
if(n==1)
{
printf("\n MOVE %d DISK FROM %c TO %c\n ",n,s,d);
return 0 ;
}
tower(n-1,s,d,ax);
printf("\n MOVE %d DISK FROM %c TO %c\n ",n,s,d);
tower(n-1,ax,s,d);
}
void main()
{
int n;
printf("Enter the number of Discs\n");
scanf("%d",&n);
tower(n,'A','B','C');
printf("Total number of moves are: %f \n",(pow(2,n)-1));
}
#include<stdlib.h>
#include<math.h>
int n,moves;
void tower(int n,int a,int b,int c)
{
if(n==0)
{
printf("NO DISK TO MOVE \n");
return;
}
else if(n==1)
{
printf("MOVE DISK %d FROM %c TO %c \n",n,a,c);
return;
}
else
{
tower(n-1,a,c,b);
printf("MOVE DISK %d FROM %c TO %c \n",n,a,c);
tower(n-1,b,a,c);
}
}
void main()
{
printf("ENTER THE NUMBER OF DISKS :\n");
scanf("%d",&n);
tower(n,'A','B','C');
moves=(pow(2,n))-1;
printf("THE TOTAL NUMBER OF MOVES = %d\n",moves);
}
Referred From : GURUPRASAD M S
#include<stdio.h>
#include<math.h>
int tower(int n,char s,char ax,char d)
{
if(n==1)
{
printf("\n MOVE %d DISK FROM %c TO %c\n ",n,s,d);
return 0 ;
}
tower(n-1,s,d,ax);
printf("\n MOVE %d DISK FROM %c TO %c\n ",n,s,d);
tower(n-1,ax,s,d);
}
void main()
{
int n;
printf("Enter the number of Discs\n");
scanf("%d",&n);
tower(n,'A','B','C');
printf("Total number of moves are: %f \n",(pow(2,n)-1));
}