汉诺塔


#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

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)

[C语言] 汉诺塔_C语言