【递归经典题目】汉诺塔算法 Java实现汉诺塔非递归算法
分类:
编程语言 时间:
2015-06-08 11:30:14
阅读次数:
97
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1997该题的解题思路是递归,如同递归解决汉诺塔问题本身一样。本题的目标是将n个盘从a柱移动到c柱,如果n盘在a柱上,那么该移动序列应该处于将n-1个盘从a柱移动到b柱上,如果n盘在c柱上,那么该序列处于将...
分类:
其他好文 时间:
2015-06-05 15:43:00
阅读次数:
125
分析:每个盘子都可以放到三个柱子上的任意一个,所以是3^n。
#include
using namespace std;
int main()
{
__int64 num[31]={1};
int i,t,n;
for(i=1;i<=30;i++)
num[i]=num[i-1]*3;
scanf("%d",&t);
while(t--)
{
scanf("...
分类:
其他好文 时间:
2015-06-02 23:27:13
阅读次数:
143
完整代码如下: /*
?*?this?file?is?the?implementation?of?hanoi?game
?*?file?name:?hanoi.c
?*?author:?John?Woods
?*?date:?2015/05/30
?*?statement:?anyone?can?use?this?file?...
分类:
编程语言 时间:
2015-05-31 00:09:54
阅读次数:
140
1 #include//汉诺塔(一)(88) 2 int main(){ 3 int x,m,t=1; 4 scanf("%d",&x); 5 while(x--){ 6 scanf("%d",&m); 7 if(m>100...
分类:
其他好文 时间:
2015-05-29 08:35:03
阅读次数:
89
1.一次一密加密、解密算法2.位加密、解密算法3.替换加密、解密算法4.换位加密、解密算法5.寻找假银币6.八皇后问题7.窃贼问题8.汉诺塔算法9.括号匹配算法求解(用栈实现)10.最短路径(图中两点间最短路径)11.城市之间的最短总距离(最小生成树算法)12.简单的约瑟夫环算法13.动态数组排序实...
分类:
编程语言 时间:
2015-05-29 00:24:07
阅读次数:
201
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1207
Problem Description
经典的汉诺塔问题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆...
分类:
其他好文 时间:
2015-05-22 09:50:39
阅读次数:
113
1. 汉诺塔算法 static long count; //移动的次数 /** * 汉诺塔算法,将盘子从a移动到c * @param n 盘子数目 * @param a 柱子标识 * @param b 柱子标识 * @param c 柱...
分类:
编程语言 时间:
2015-05-17 21:43:46
阅读次数:
112
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1834 Accepted Submission(s): 1279
Problem Description
n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过...
分类:
其他好文 时间:
2015-05-17 15:18:50
阅读次数:
73
汉诺塔这个问题很经典,不清楚题目的同学可以去百度一下,在这小子就不多说了,进入正题; 让我们打开表格,看看这座塔: 这塔看起来不咋地对不对?不过,我们的目标是把它原封不动的搬到c列上,可以借助b列。让我们从最简单的做起:假设只有两层,从下往上分别是1,2,这时候你会说这题目简直就是在侮辱...
分类:
其他好文 时间:
2015-05-17 09:19:38
阅读次数:
112