#include <stdio.h>
void hanoi(int n, char one, char two, char three);
void move(char x, char y);
int main()
{
int m;
printf("input the number of diskes:");
scanf_s("%d", &m);
printf("The step to move %d diskes:\n", m);
hanoi(m, 'A', 'B', 'C');
}
void hanoi(int n, char one, char two, char three) //定义hanoi函数
//将n个盘从one座借助two座,移到three座
{
if (n == 1)
move(one, three);
else
{
hanoi(n - 1, one, three, two);
move(one, three);
hanoi(n - 1, two, one, three);
}
}
void move(char x, char y) //定义move函数
{
printf("%c->%c\n", x, y);
}
//#include <stdio.h>
//int fac(int n); //fac函数声明
//int main()
//{
// int n;
// int y;
// printf("input an integer number:");
// scanf_s("%d", &n); //输入要求阶乘的数
// y = fac(n);
// printf("%d!=%d\n", n, y);
// return 0;
//}
//
//int fac(int n) //定义fac函数
//{
// int f;
// if (n == 0 || n == 1)
// f = 1;
// else
// f = fac(n - 1) * n;
// return(f);
//}