《hanoi(汉诺塔)问题》求解
2015-12-17 20:54
369 查看
//Hanoi(汉诺)塔问题。这是一个古典的数学问题,用递归方法求解。问题如下: /* 古代有一个梵塔,塔内有3个座A,B,C,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。 有一个老和尚想把这64个盘子从A座移动到C座,但规定每次只允许移动一个盘,且在移动过程中在3个座上 都始终保持大盘在下,小盘在上。在移动过程中可以利用B座。要求编程序输出移动盘子的步骤。 */ #include<stdio.h> #include<stdlib.h> int main() { //对hanoi函数的声明 void hanoi(int n,char one,char two,char three); int m; printf("input the number of diskes:"); scanf("%d",&m); printf("The step to move %d diskes:\n",m); hanoi(m,'A','B','C'); system("pause"); return 0; } //定义hanoi函数 void hanoi(int n,char one ,char two,char three) {//将n个盘从one座借助two座,移到three座 void move(char x,char y); //对move函数的声明 if(n==1) move(one,three); else { hanoi(n-1,one,three,two); move(one,three); hanoi(n-1,two,one,three); } } void move(char x,char y) { printf("%c->%c\n",x,y); }
相关文章推荐
- Synchronized与三种锁态
- XML中必须进行转义的字符
- React属性的3种设置方式
- 四则运算APP最后阶段
- Spring4+Quartz2计划任务集群
- Jmeter报告优化之New XSL stylesheet
- 前端开发入门:框架篇-ReactJS入门学习
- windows安装protoc
- 大神对指针和链表的形象解释
- Android5.0新组件TabLayout+ViewPager实现Tab页面
- Reverse Integer
- BZOJ3262: 陌上花开 CDQ
- utf-8转GB2312
- subline 安装 package control
- NSURLConnection (iOS9已经过期)
- 5 Longest Palindromic Substring
- hdoj1379DNA Sorting
- java中Date与String的相互转化
- 勒索软件转战移动设备
- 在阿里云ubuntu 14.04 上部署Gogs