#include <stdio.h>
#include <stdlib.h>
#define max 99
#define N 5
int curmove=N;
int steps=0;
void move(int x,int curpos,int nextpos)
{
if(x==curmove&nextpos==3)
{
printf("/ntill now ,steps %d/n",steps);
printf("/n/nflowing steps is tended to move%2d from %c to %c/n/n",x,96+curpos,96+nextpos);
curmove=x-1;
}
if(x==1)
{
printf("move%2d from %c to %c/t",x,96+curpos,96+nextpos);
steps++;
}
else
{
if(curpos!=1&nextpos!=1)
{
move(x-1,curpos,1);
}
else
{
if(curpos!=2&nextpos!=2)
{
move(x-1,curpos,2);
}
else
{
move(x-1,curpos,3);
}
}
printf("move%2d from %c to %c/t",x,96+curpos,96+nextpos);
steps++;
if(curpos!=1&nextpos!=1)
{
move(x-1,1,nextpos);
}
else
{
if(curpos!=2&nextpos!=2)
{
move(x-1,2,nextpos);
}
else
{
move(x-1,3,nextpos);
}
}
}
}
int main(int argc, char *argv[])
{
move(N,1,3);
printf("/ntotel handling steps is %d/n",steps);
}
#include <stdlib.h>
#define max 99
#define N 5
int curmove=N;
int steps=0;
void move(int x,int curpos,int nextpos)
{
if(x==curmove&nextpos==3)
{
printf("/ntill now ,steps %d/n",steps);
printf("/n/nflowing steps is tended to move%2d from %c to %c/n/n",x,96+curpos,96+nextpos);
curmove=x-1;
}
if(x==1)
{
printf("move%2d from %c to %c/t",x,96+curpos,96+nextpos);
steps++;
}
else
{
if(curpos!=1&nextpos!=1)
{
move(x-1,curpos,1);
}
else
{
if(curpos!=2&nextpos!=2)
{
move(x-1,curpos,2);
}
else
{
move(x-1,curpos,3);
}
}
printf("move%2d from %c to %c/t",x,96+curpos,96+nextpos);
steps++;
if(curpos!=1&nextpos!=1)
{
move(x-1,1,nextpos);
}
else
{
if(curpos!=2&nextpos!=2)
{
move(x-1,2,nextpos);
}
else
{
move(x-1,3,nextpos);
}
}
}
}
int main(int argc, char *argv[])
{
move(N,1,3);
printf("/ntotel handling steps is %d/n",steps);
}