C 语言程序设计实践 7.9 汉诺塔
2014-12-11 20:19
246 查看
AC代码:
#include <stdio.h> #include <math.h> void Hanoi (int n,char A[],char B[],char C[]); void move (char a[],char b[]); int main() { int n,t; char A[20],B[20],C[20]; scanf("%d %s %s %s",&n,A,B,C); t=pow(2,n)-1; printf("%d\n",t); Hanoi(n,A,B,C);//把n个盘从A借助B移到C return 0; } void Hanoi (int n,char A[],char B[],char C[]) { if (n==1) move(A,C); else{ Hanoi (n-1,A,C,B);//那就得先把n-1个盘先从A借助C移到B move(A,C);//再把剩下的那个盘从A直接移到C Hanoi (n-1,B,A,C);//接着把那n-1个盘从B借助A移到C } } void move (char a[],char b[]) { printf("%s->%s\n",a,b); }
相关文章推荐
- C 语言程序设计实践 9.1 数独大赛
- 《C语言及程序设计》实践项目——使用变量
- 《C语言及程序设计》实践项目——查找和排序
- 《C语言及程序设计》实践参考——有序数组中插入数据(函数版)
- C 语言程序设计实践 3.7 Judge
- C 语言程序设计实践 4.5 四边形
- C 语言程序设计实践 7.2 计算器
- C 语言程序设计实践 9.2 钱去哪了
- C 语言程序设计实践 3.8 Volume
- C 语言程序设计实践 4.6 第几天
- C 语言程序设计实践 7.3 最小公倍数
- C 语言程序设计实践 8.1 字符串
- C 语言程序设计实践 9.3 排队
- 第四周《C语言及程序设计》实践项目7 返回指针的函数
- 《C语言及程序设计》实践参考——M$pszi$y是嘛意思?
- C 语言程序设计实践 3.9 成绩统计
- C 语言程序设计实践 4.7 简单的运算Ⅱ
- C 语言程序设计实践 7.4 ackerman 函数
- C 语言程序设计实践 8.2 W.C之十个问题
- C 语言程序设计实践 9.4 并列第一