河內(nèi)之塔 - 漢諾塔

說明

河內(nèi)之塔(Towersof Hanoi)是法國人M.Claus(Lucas)于1883年從泰國帶至法國的,河內(nèi)為越戰(zhàn)時(shí) 北越的首都,即現(xiàn)在的胡志明市;1883年法國數(shù)學(xué)家 EdouardLucas曾提及這個(gè)故事,據(jù)說創(chuàng)世 紀(jì)時(shí)Benares有一座波羅教塔,是由三支鉆石棒(Pag)所支撐,開始時(shí)神在第一根棒上放置64 個(gè)由上至下依由小至大排列的金盤(Disc) ,并命令僧侶將所有的金盤從第一根石棒移至第根三 石棒,且搬運(yùn)過程中遵守大盤子在小盤子之下的原則,若每日僅搬一個(gè)盤子,則當(dāng)盤子全數(shù)搬 運(yùn)完畢之時(shí),此塔將毀損,而也就是世界末日來臨之時(shí)。

解法

A上有n個(gè)盤子。
一、如果n=1,則將圓盤從A直接移動到C。
二、如果n=2,則:
1)將A上的n-1(等于1)個(gè)圓盤移到B上;
2)再將A上的一個(gè)圓盤移到C上;
3)最后將B上的n-1(等于1)個(gè)圓盤移到C上。

如果n=3,則:
將A上的n-1(等于2,令其為n')個(gè)圓盤移到B(借助于C),步驟如下:
1)將A上的n'-1(等于1)個(gè)圓盤移到C上。
2)將A上的一個(gè)圓盤移到B。
3)將C上的n'-1(等于1)個(gè)圓盤移到B。

B將A上的一個(gè)圓盤移到C。

C將B上的n-1(等于2,令其為n')個(gè)圓盤移到C(借助A),步驟如下:
1)將B上的n'-1(等于1)個(gè)圓盤移到A。
2)將B上的一個(gè)盤子移到C。
3)將A上的n'-1(等于1)個(gè)圓盤移到C。到此,完成了三個(gè)圓盤的移動過程。

從上面分析可以看出

1、當(dāng)n=1時(shí),將A移到C上

2、當(dāng)n大于等于2時(shí), 移動的過程可分解為三個(gè)步驟:

第一步:把A上的n-1個(gè)圓盤移到B上;

第二步:把A上的一個(gè)圓盤移到C上;

第三步:把B上的n-1個(gè)圓盤移到C上;其中第一步和第三步是類同的。 當(dāng)n=3時(shí),第一步和第三步又分解為類同的三步,即把n'-1個(gè)圓盤從一個(gè)針移到另一個(gè)針上,這里的n'=n-1。

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,460評論 0 13
  • 選擇題部分 1.(),只有在發(fā)生短路事故時(shí)或者在負(fù)荷電流較大時(shí),變流器中才會有足夠的二次電流作為繼電保護(hù)跳閘之用。...
    skystarwuwei閱讀 14,328評論 0 7
  • 在C語言中,五種基本數(shù)據(jù)類型存儲空間長度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 3,993評論 0 2
  • 法國數(shù)學(xué)家愛德華·盧卡斯曾編寫過一個(gè)印度的古老傳說:在世界中心貝拿勒斯(在印度北部)的圣廟里,一塊黃銅板上插著三根...
    一個(gè)人在路上走下去閱讀 1,586評論 0 3

友情鏈接更多精彩內(nèi)容