汉诺塔问题

来源:互联网 发布:成都龙渊网络官网 编辑:程序博客网 时间:2024/05/16 04:21

 

#include <stdio.h>void hanoi(int n, char a, char b, char c);void move(char x, char y);int main() {int n;printf("n = ");scanf("%d", &n);hanoi(n, 'A', 'B', 'C');}/*** 将n个圆盘借助b,从a搬到c*/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);}}/*** 将圆盘从x搬到y*/void move(char x, char y) {printf("%c --> %c\n", x, y);}