汉诺塔问题

#include<stdio.h>
#include<stdlib.h>

int c;

void move(char a,int n,char b)
{
 printf("%d:/tmove disk %d from %c to %c/n",++c,n,a,b);
}

void hanoi(int n,char x,char y,char z)
{
 if(n==1) move(x,1,z);
 else{
  hanoi(n-1,x,z,y);
  move(x,n,z);
  hanoi(n-1,y,x,z);
 }
}

void main()
{
 hanoi(3,'x','y','z');
 getchar();
}

你可能感兴趣的:(汉诺塔问题)