国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

漢諾塔游戲規律,讓漢諾塔淪為體力勞動!(后附漢諾塔解法Python源碼)

2019-11-06 09:02:54
字體:
來源:轉載
供稿:網友

記住這個規律,以后玩漢諾塔基本上就是體力勞動了。

規律:先小后大,單左雙右,循環。

設3個柱子分別是甲,乙,丙,把3根柱子看成一個循環,也就是說,甲的右邊是乙,乙的右邊是丙,而丙的右邊則回到甲,同理,甲的左邊就是丙。簡單點,記住丙的右邊是甲,和甲的左邊是丙就行了。盤子分別是盤1,盤2,盤3,盤4……盤1最小。

按照“單左雙右”的規律,先移動小的,也就是先移動盤1,再移動盤2,盤3,按順序,把能移動的都移動一次,每次移動一步,如果不符合游戲規則,就移動兩步,還是不符合的話,就找到盤1,重新按照“單左雙右”的規則走,直到完成游戲。

例:3個盤子,單數,向左走。1,盤1向左移動一步,到丙柱。2,盤2向左移動一步,不符合游戲規則,移動兩步,到乙柱。3,盤3向左移動一步,不符合游戲規則,移動兩步,不符合游戲規則。找到最小的盤1,向左移動一步,移動到乙柱。4,盤2被盤1壓住,無法移動。盤3向左移動一步,到丙柱。5,找到最小的盤1,向左移動一步,到甲柱。6,盤2向左移動一步,不符合游戲規則,移動兩步,到丙柱。7,盤3被盤2壓住,無法移動。找到最小的盤1,向左移動一步,到丙柱。游戲完成。

原文鏈接:http://blog.sina.com.cn/s/blog_68507b0a0100onrr.html

附:n層漢諾塔解法的Python源碼

def move(n, a, b, c):    if n ==1:        return    move(n-1, a, c, b)    print(a, '-->', c)    move(n-1, b, a, c)move(5, 'A', 'B', 'C')


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沿河| 三门峡市| 白银市| 西城区| 封丘县| 银川市| 密云县| 于田县| 嫩江县| 乌恰县| 鹤壁市| 马龙县| 日喀则市| 辽阳县| 东丽区| 扎鲁特旗| 麦盖提县| 石台县| 铁岭市| 平舆县| 凤翔县| 南部县| 明水县| 龙海市| 白山市| 安化县| 长顺县| 梓潼县| 四川省| 鹤山市| 大埔区| 阿合奇县| 柏乡县| 察哈| 静宁县| 桑日县| 东源县| 广宗县| 清水河县| 永春县| 闵行区|