汉诺塔

79 阅读1分钟

#include <stdio.h>

#include <string.h>

int count=0;

void move(char a, char b)

{

printf("%c-->%c\n",a,b);

count++;

}

void hanoi(int n, char a, char b, char c)

{

if (n == 1)

{

move(a, c);

}

else

{

hanoi(n - 1, a, c, b);

move(a, c);

hanoi(n - 1, b, a, c);

}

}

int main()

{

int n=0;

scanf("%d", &n);

hanoi(n, 'a', 'b', 'c');

printf("count=%d\n", count);

return 0;

}