汉诺塔
汉诺塔是根据一个传说形成的数学问题(关于汉诺塔):
有三根杆子A,B,C。A杆上有N个(N>1)穿孔圆盘,盘的尺寸由下到上依次变小。要求按下列规则将所有圆盘移至C杆:
每次只能移动一个圆盘;
大盘不能叠在小盘上面。
提示:可将圆盘临时置于B杆,也可将从A杆移出的圆盘重新移回A杆,但都必须遵循上述两条规则。
递归汉诺塔
解题思路:
可以把问题简化成2个盘子的情况,如:A上有两个盘子,B和C是空的。如果要把A的两个盘子全部移动到C,需要经过以下步骤:
1.A移动一个盘子到B
2.A移动一...
分类:
编程语言 时间:
2015-03-08 17:19:58
阅读次数:
354
汉诺塔原理解析:
当只有一个盘子的时候,只需要从将A塔上的一个盘子移到C塔上。
当A塔上有两个盘子是,先将A塔上的1号盘子(编号从上到下)移动到B塔上,再将A塔上的2号盘子移动的C塔上,最后将B塔上的小盘子移动到C塔上。
当A塔上有3个盘子时,先将A塔上编号1至2的盘子(共2个)移动到B塔上(需借助C塔),然后将A塔上的3号...
分类:
编程语言 时间:
2015-03-06 09:46:53
阅读次数:
186
// hanoi.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
void move(int n,char moveStart,char moveEnd){
printf("move %d from %c to %c\n",n,moveStart,moveEnd);
}
void hanoi(int n,char moveStart,char mov...
分类:
其他好文 时间:
2015-03-05 13:02:15
阅读次数:
142
汉诺塔问题的递归实现。不得不说很复杂,想了一晚上才想通了执行的过程,不知道是哪个伟人想出来的,竟然把递归用的如此出神入化,我等望尘莫及。 1 #include 2 using namespace std; 3 #include 4 5 void move(char x, char y) 6 ...
分类:
编程语言 时间:
2015-03-05 01:41:48
阅读次数:
208
【经典汉诺塔问题】 汉诺(Hanoi)塔问题:古代有一个梵塔,塔内有三个座A、B、C,A座上有64个盘子,盘子大小不等,大的在下,小的在上。有一个和尚想把这64个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上。在移动过程中可以利用B座,要....
分类:
其他好文 时间:
2015-02-27 00:09:03
阅读次数:
176
第五章主要讲1.形式化方法基本概念分为形式规约、形式证明与验证、程序求精,形式证明与验证技术主要包括模型检测和定理证明。2.时态逻辑介绍了Kripke结构;一阶线性时态逻辑以队列及其操作与汉诺塔操作规划问题为例进行讲解。计算树逻辑一般是CTL与CTL*的统称。3.模型检测就是在软件系统的Kripke...
分类:
其他好文 时间:
2015-02-26 13:26:06
阅读次数:
130
第五章、软件工程中的形式化方法 本章涉及到离散数学与数据结构的知识,可见知识都是互通的。1.形式化方法基本概念分为形式规约、形式证明与验证、程序求精,形式证明与验证技术主要包括模型检测和定理证明。2.时态逻辑介绍了Kripke结构;一阶线性时态逻辑以队列及其操作与汉诺塔操作规划问题为例...
分类:
其他好文 时间:
2015-02-16 12:56:51
阅读次数:
142
1 形式化方法的基本概念 形式化规约 形式证明与验证 程序求精2 时态逻辑 krioke结构可以表示为一个有向图 一阶线性时态逻辑是一阶谓词逻辑的扩展。 队列及其操作:队列是一种常用的数据抽象类型他服从先进先出的FIFO规则。在某一时刻队列可以为空。 1 活性 2 安全性 汉诺塔操作规划问题 计算树...
分类:
其他好文 时间:
2015-02-15 16:22:36
阅读次数:
138
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1997Problem Descriptionn个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列。由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上,...
分类:
其他好文 时间:
2015-02-13 22:20:35
阅读次数:
255
#include void move (int num, char f, char t){ printf("%d : %c -> %c\n", num, f, t);}void hanoi(int num, char one, char two, char three){ if(num ...
分类:
其他好文 时间:
2015-02-12 13:51:53
阅读次数:
105