1. 程式人生 > >[遞迴] 漢諾塔 - C語言

[遞迴] 漢諾塔 - C語言

#include<stdio.h>

//將n個盤子從x藉助y移動到z
void move(int n,char x,char y,char z) {
	if (1==n)
		printf("%c-->%c\n",x,z);
	else {
		move(n-1,x,z,y);	//將n-1個盤子從x藉助z移動到y
		printf("%c-->%c\n",x,z);
		move(n-1,y,x,z);
	}
}

int main() {
	int n;
	printf("請輸入漢諾塔的層數:");
	scanf("%d",&n);
	printf("移動的步驟如下:\n"
); move(n,'X','Y','Z'); return 0; }