汉诺塔
来源:互联网 发布:谢晋影视艺术学院 知乎 编辑:程序博客网 时间:2024/05/17 23:07
1. 三柱汉诺塔
T(n)=2*T(n-1)+1,
步数是T(n)=2^n-1。
2. 四柱汉诺塔
F(n)=2*F(n-2)+3
移动步数为:F(n)=4*2^(n/2)-3:n为奇数;
F(n)=6*2^(n/2-1)-3:n为偶数
计算四柱汉诺塔最少步数的代码为
int n;
a[1]=1;a[2]=3;a[3]=5;
for(i=4;i<=n;i++)
{
min=99999999;
for(j=1;j<i;j++)
if(2*a[j]+pow(2.0,i-j)-1<main)
min=2*a[j]+(int)pow(2.0,i-j)-1
a[i]=min;
}
printf("%d",a[n]);
一定注意公式为if(2*a[j]+pow(2.0,i-j)-1<min)
min=2*a[j]+(int)pow(2.0,i-j)-1;
a[i]=min;
记住后面是有个减1的,
0 0
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- 汉诺塔
- Code Jam - Minimum Scalar Product for Python
- 一些排序算法
- 单例和factory
- hdoj.1235 统计同成绩学生人数 20140724
- C++ map标准容器
- 汉诺塔
- JSP标签编程(章节摘要)
- 内存指针问题
- 网传iPhone 6将包含新版WiFi
- 最短路径问题+hdu+原始dijkstra+优先队列优化dijkstra+邻接矩阵的建立
- IOS收集崩溃日志,查找崩溃代码行
- 操作简单实用的pdf转换器
- 位域/位字段/字段————特殊的结构体
- 互联网网站架构升级----分布式环境的构建