将柱子从左到右依次编号为A、B、C设将n个盘子从一端移动到另一端的最少步数为f(n)则f(n)和f(n-1)的递推关系为:f(n) = 3 × f(n-1) + 2初始状态A柱子上面有n个盘子,将上面的n-1个移到C柱子上需要f(n-1),然后将最下面的盘子移动到B柱子1步再将n-1个移回到A柱子上...
分类:
其他好文 时间:
2014-09-02 10:10:44
阅读次数:
207
汉诺塔(三)时间限制:3000ms | 内存限制:65535KB难度:3描述在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有...
分类:
其他好文 时间:
2014-09-01 00:20:12
阅读次数:
183
//汉诺塔
void Hanoi(int n,string A,string B,string C){
if(n == 1)
cout"<<C<<endl;
else{
Hanoi(n-1,A,C,B);
cout"<<C<<endl;
Hanoi(n-1,B,A,C);
}
}
//递归实现
int maxNUm(int num[],int n){
if(1 ==...
分类:
其他好文 时间:
2014-08-29 11:03:07
阅读次数:
174
加班酱油看到园中略有汉诺塔的文章,不由得想起大学王吊老师给我们上的c语言课啊,其中有汉诺塔这一部分.隐隐记得一点点,但是下面代码肯定是徒手写出(这里和标题完全属于装B类型,突然想到徒手XXX,所以就把题目写得很装B.徒手撸一把,徒手斗歹徒,徒手泡妹妹.),突然感觉代码好短,可能是以前学校题目就差不多...
分类:
其他好文 时间:
2014-08-27 20:23:18
阅读次数:
251
今天早晨在上班的路上,一好朋友突然提到之前的一个计算机的考题,汉诺塔(相信大家都玩过)的递归深度。由于很久没有看算法,以及脑容量有限,当时没有多想。来到公司后,把公式列了一下,终于清晰多了。下面假设3根柱子编号为1,2,3.主要思路:把n个圆盘从3号移到1号 = 把n-1个圆盘从3号移到2号 + 把...
分类:
其他好文 时间:
2014-08-27 10:43:37
阅读次数:
130
汉诺塔:有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,应该怎么移动?
汉诺塔是个非常经典的问题,讲递归时应该都会讲到它。如果我们没有递归的先验知识, 直接去解答这道题,常常会觉得不知道如何下手。用递归却可以非常优美地解决这个问题。
使用递归的一个关键就是,...
分类:
其他好文 时间:
2014-08-25 01:12:43
阅读次数:
218
模拟汉诺塔的移动过程,CC答案的面向对象的太烦,写个以前学的经典的。public class Solution { public void move(int n, char a, char b, char c) { if (n == 1) { System....
分类:
其他好文 时间:
2014-08-20 01:19:25
阅读次数:
184
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=2064汉诺塔变种,只能从中间专业,递归关系为:f(n)=3*f(n-1)+2. 1 //汉诺塔变种,只能从中间转移 2 //11485816 2014-08-19 08:44:47 Accep...
分类:
其他好文 时间:
2014-08-19 09:16:54
阅读次数:
178
1.故事介绍
汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
2.由来
法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说...
分类:
编程语言 时间:
2014-08-18 12:32:44
阅读次数:
247