漢諾塔問題

#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();
}

發佈了15 篇原創文章 · 獲贊 5 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章