汉诺塔
void hanoi(int n, char A, char B, char C)
{
if (n == 1)
printf("%c-->%c\n", A, C);
else
{
hanoi(n - 1, A, C, B);
printf("%c-->%c\n",A,C);
hanoi(n - 1, B, A, C);
}
}
int main()
{
int n = 0;
printf("请输入哈诺塔层数:>");
scanf("%d", &n);
hanoi(n, 'A', 'B', 'C');
return 0;
}
思维图
个人心得:只需要理解2层汉诺塔原理 3层搞起来已经挺头疼的了
网上心得:函数中 hanoi(n-1,通过c实现a到b) 代码为 :hanoi(2,a,c,b)