休闲数学-汉诺塔

原创 2016年08月30日 14:00:08

名称:汉诺塔 (河内塔、Tower of hanoi)

发明者:爱德华·卢卡斯

故事来源:

印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

图片:

汉诺塔

游戏规则:

1、一次一个:一次只能移动一个圆 环;
2、大不压小:大圆环不能压在小圆 环上,也就是小圆环必须在大圆环上面。

操作过程:

汉诺塔
一片移动1次,两片移动3次,三片移动7次 总结 用递归来计算过程和步数
数学公式
f(1)=1 f(2)=3 f(3)=7 f(4)=?
⇒ f(3)=f(2)*2+1
⇒ f(n)=f(n-1)*2+1
⇒ f(4)=15
||得出同下公式
f(n)=2^n-1 2的n次方-1

python:

`git@code.csdn.net:snippets/1859264.git`
<php>
 # 利用递归函数移动汉诺塔:
def move(n, a, b, c):
if n == 1:
    print('move', a, '-->', c)
    return
move(n-1, a, c, b)
print('move', a, '-->', c)
move(n-1, b, a, c)

move(2, 'A', 'B', 'C')    
</php>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

【找回数学的感觉】1 再版汉诺塔等

尤其在学过函数式编程之后,更加觉得想在计算机技术上上一个台阶必须得有非常扎实的数学基础。然而太多学生大学开始就慢慢淡忘了数学,和高中比起来根本不是一个境界。于是我决心开设这样一个系列,我每天都会练习,...
  • NoMasp
  • NoMasp
  • 2015-06-21 12:07
  • 2481

HDU 1207:汉诺塔II【数学】

汉诺塔II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su...

程序员的数学:汉诺塔递归与非递归求解

如果对汉诺塔算法的理解有困难,建议查看《程序员的数学》:第6章 递归——自己定义自己 这一章作者详细用图形介绍了汉诺塔递归算法,便于理解,茅塞顿开! 现对该算法从递归和非递归两个方面做如下...

具体数学——汉诺塔2.0

饶有兴趣地看完了具体数学中的第一章,然后兴致满满地开始做习题,看到热身题的第二题,曰:“把有n个圆盘的塔从左边的桩柱A移动到右边的桩柱B,不允许在A和B之间直接移动,求最短的移动序列.(每一次移动都必...

数学之美--64汉诺塔之传说

河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家Edouard Lucas...
  • florg
  • florg
  • 2014-10-05 23:42
  • 932

NYOJ 88:汉诺塔(一)【数学】

汉诺塔(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石...

递归汉诺塔

用数据库实现汉诺塔

  • 2015-12-04 15:48
  • 141KB
  • 下载

[递归]CODEVS-3145 汉诺塔游戏

CODEVS-1842 递归第一次递归递归,即定义一组基本操作,这组操作将规模小一点(或大一点)的操作当做一个整体——无需关心它的细节,只当它已经完成了——然后执行剩下的操作。而在更小或更大的规模中也...

汉诺塔问题求解

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)