国产探花免费观看_亚洲丰满少妇自慰呻吟_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')


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马山县| 思南县| 房山区| 荔波县| 莱阳市| 宜君县| 望奎县| 兴和县| 桦南县| 固阳县| 喀什市| 类乌齐县| 宁强县| 托克逊县| 伊吾县| 莒南县| 故城县| 西峡县| 兴隆县| 乌兰浩特市| 保康县| 聂拉木县| 望谟县| 墨竹工卡县| 沁水县| 马鞍山市| 栖霞市| 女性| 福海县| 巴楚县| 海口市| 浮梁县| 唐河县| 和林格尔县| 朝阳市| 岳阳县| 黔西县| 马山县| 莱州市| 吴桥县| 贵南县|