数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
楼主: 王守恩

多柱汉诺塔算法

[复制链接]
 楼主| 发表于 2016-12-24 19:21 | 显示全部楼层
一般地,我们有:
多柱汉诺塔题目。m根柱,n个盘,v种规格。
问题1:符合题意的最小移动步数是多少?
问题2:符合题意的最大移动步数是多少?

譬如:4根柱,16个盘,7种规格。
问题1:符合题意的最小移动步数是多少?
问题2:符合题意的最大移动步数是多少?

譬如:5根柱,20个盘,10种规格。
问题1:符合题意的最小移动步数是多少?
问题2:符合题意的最大移动步数是多少?
 楼主| 发表于 2017-3-2 19:24 | 显示全部楼层
我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=4根柱,
          (n - w)×2^A+1=S
          (1 - 1)×2^1+1=1
          (2 - 1)×2^1+1=3
          (3 - 1)×2^1+1=5
          (4 - 2)×2^2+1=9
          (5 - 2)×2^2+1=13
          (6 - 2)×2^2+1=17
          (7 - 4)×2^3+1=25
          (8 - 4)×2^3+1=33
          (9 - 4)×2^3+1=41
          (10 - 4)×2^3+1=49
          (11 - 7)×2^4+1=65
          (12 - 7)×2^4+1=81
          (13 - 7)×2^4+1=97
          (14 - 7)×2^4+1=113
          (15 - 7)×2^4+1=129
          (16 - 11)×2^5+1=161
          (17 - 11)×2^5+1=193
          (18 - 11)×2^5+1=225
          (19 - 11)×2^5+1=257
          (20 - 11)×2^5+1=289
          (21 - 11)×2^5+1=321
          (22 - 16)×2^6+1=385
          (23 - 16)×2^6+1=449
          (24 - 16)×2^6+1=513
          (25 - 16)×2^6+1=577
          (26 - 16)×2^6+1=641
          (27 - 16)×2^6+1=705
          (28 - 16)×2^6+1=769
          ………………
     答案本身没有问题,求助各位大神,对算式作化简。
 楼主| 发表于 2017-3-2 19:28 | 显示全部楼层
王守恩 发表于 2017-3-2 19:24
我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=4根柱,
          (n - w)×2^A+1 ...

我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=5根柱,
          (n - w)×2^A - 1=S
          (1 - 0)×2^1 - 1=1
          (2 - 0)×2^1 - 1=3
          (3 - 0)×2^1 - 1=5
          (4 - 0)×2^1 - 1=7
          (5 - 2)×2^2 - 1=11
          (6 - 2)×2^2 - 1=15
          (7 - 2)×2^2 - 1=19
          (8 - 2)×2^2 - 1=23
          (9 - 2)×2^2 - 1=27
          (10 - 2)×2^2 - 1=31
          (11 - 6)×2^3 - 1=39
          (12 - 6)×2^3 - 1=47
          (13 - 6)×2^3 - 1=55
          (14 - 6)×2^3 - 1=63
          (15 - 6)×2^3 - 1=71
          (16 - 6)×2^3 - 1=79
          (17 - 6)×2^3 - 1=87
          (18 - 6)×2^3 - 1=95
          (19 - 6)×2^3 - 1=103
          (20 - 6)×2^3 - 1=111
          (21 - 13)×2^4 - 1=127
          (22 - 13)×2^4 - 1=143
          (23 - 13)×2^4 - 1=159
          (24 - 13)×2^4 - 1=175
          (25 - 13)×2^4 - 1=191
          (26 - 13)×2^4 - 1=207
          (27 - 13)×2^4 - 1=223
          (28 - 13)×2^4 - 1=239
          ………………
       答案本身没有问题,求助各位大神,对算式作化简。
 楼主| 发表于 2017-3-2 19:30 | 显示全部楼层
王守恩 发表于 2017-3-2 19:28
我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=5根柱,
          (n - w)×2^A ...

我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=6根柱,
          (n - w)×2^A+1=S
          (1 - 1)×2^1+1=1
          (2 - 1)×2^1+1=3
          (3 - 1)×2^1+1=5
          (4 - 1)×2^1+1=7
          (5 - 1)×2^1+1=9
          (6 - 3)×2^2+1=13
          (7 - 3)×2^2+1=17
          (8 - 3)×2^2+1=21
          (9 - 3)×2^2+1=25
          (10 - 3)×2^2+1=29
          (11 - 3)×2^2+1=33
          (12 - 3)×2^2+1=37
          (13 - 3)×2^2+1=41
          (14 - 3)×2^2+1=45
          (15 - 3)×2^2+1=49
          (16 - 9)×2^3+1=57
          (17 - 9)×2^3+1=65
          (18 - 9)×2^3+1=73
          (19 - 9)×2^3+1=81
          (20 - 9)×2^3+1=89
          (21 - 9)×2^3+1=97
          (22 - 9)×2^3+1=105
          (23 - 9)×2^3+1=113
          (24 - 9)×2^3+1=121
          (25 - 9)×2^3+1=129
          (26 - 9)×2^3+1=137
          (27 - 9)×2^3+1=145
          (28 - 9)×2^3+1=153
          ………………
     答案本身没有问题,求助各位大神,对算式作化简。
 楼主| 发表于 2017-3-2 19:35 | 显示全部楼层
王守恩 发表于 2017-3-2 19:30
我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=6根柱,
          (n - w)×2^A ...

我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=7根柱,
          (n - w)×2^A - 1=S
          (1 - 0)×2^1 - 1=1
          (2 - 0)×2^1 - 1=3
          (3 - 0)×2^1 - 1=5
          (4 - 0)×2^1 - 1=7
          (5 - 0)×2^1 - 1=9
          (6 - 0)×2^1 - 1=11
          (7 - 3)×2^2 - 1=15
          (8 - 3)×2^2 - 1=19
          (9 - 3)×2^2 - 1=23
          (10 - 3)×2^2 - 1=27
          (11 - 3)×2^2 - 1=31
          (12 - 3)×2^2 - 1=35
          (13 - 3)×2^2 - 1=39
          (14 - 3)×2^2 - 1=43
          (15 - 3)×2^2 - 1=47
          (16 - 3)×2^2 - 1=51
          (17 - 3)×2^2 - 1=55
          (18 - 3)×2^2 - 1=59
          (19 - 3)×2^2 - 1=63
          (20 - 3)×2^2 - 1=67
          (21 - 3)×2^2 - 1=71
          (22 - 12)×2^3 - 1=79
          (23 - 12)×2^3 - 1=87
          (24 - 12)×2^3 - 1=95
          (25 - 12)×2^3 - 1=103
          (26 - 12)×2^3 - 1=111
          (27 - 12)×2^3 - 1=119
          (28 - 12)×2^3 - 1=127   
          ………………
     答案本身没有问题,求助各位大神,对算式作化简。
 楼主| 发表于 2017-3-2 19:47 | 显示全部楼层
本帖最后由 王守恩 于 2017-3-2 19:50 编辑
王守恩 发表于 2017-3-2 19:35
我们设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=7根柱,
          (n - w)×2^A ...


最后,我们还是想把m=3根柱的算式归纳到这里来。
设盘的个数为n,柱的根数为m,符合题意的最小挪动步数为s
譬如:m=3根柱,
          (n - w)×2^A - 1=S
          (1 - 0)×2^1 - 1=1
          (2 - 0)×2^1 - 1=3
          (3 - 1)×2^2 - 1=7
          (4 - 2)×2^3 - 1=15
          (5 - 3)×2^4 - 1=31
          (6 - 4)×2^5 - 1=63
          (7 - 5)×2^6 - 1=127
          (8 - 6)×2^7 - 1=255
          (9 - 7)×2^8 - 1=511
          ………………
       答案本身没有问题,求助各位大神,对前面的算式作化简。
本文漂亮的解决了多柱汉诺塔算法,用的是两个工具:二进制和杨辉三角。
发表于 2017-3-2 23:32 | 显示全部楼层
请王守恩老师说说 (n - w)×2^A - 1=S 怎么解释? A 是什么? w 是什么?
 楼主| 发表于 2017-3-3 08:43 | 显示全部楼层
elimqiu 发表于 2017-3-2 23:32
请王守恩老师说说 (n - w)×2^A - 1=S 怎么解释? A 是什么? w 是什么?

A是二进制的指数,W由杨辉三角变化而来。
A与W是计算过程中的两个系数。
本人语言表达水平不行,希望得到你的帮助!
答案很明确:多柱汉诺塔算法没有想象中的复杂。
憋在心里好久了,很想请elimqiu先生能否先用多柱汉诺塔软件论证一下。
谢谢指教!希望得到你更多的帮助!感谢不尽!
发表于 2017-3-7 06:50 | 显示全部楼层
本帖最后由 朱明君 于 2017-3-6 23:52 编辑

蔡老师你的解是错的
  此题是求x值,y值,n值, 不是求x+y值






已知a^2+b^2=c^2,  求满足方程(a^n+x)+(b^n+y)=c^n的所有整数解
这道题陆元鸿老师做不出,王守恩老师做不出,庄严老师做不出,蔡家雄更做不出



发表于 2017-3-7 10:00 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2026-5-16 20:16 , Processed in 0.119133 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表