終于沒白學(xué),小時(shí)候困擾我的數(shù)學(xué)題如今有了新解法

最近繼續(xù)游走在敲代碼的路上啄踊,越往深了學(xué)忧设,越是發(fā)現(xiàn)編程和數(shù)學(xué)有著密不可分的關(guān)系。


image

印度有一個(gè)古老的傳說:在世界中心貝拿勒斯(在印度北部)的圣廟里颠通,一塊黃銅板上插著三根寶石針址晕。印度教的主神梵天在創(chuàng)造世界的時(shí)候,在其中一根針上從下到上地穿好了由大到小的64片金片顿锰。不論白天黑夜谨垃,總有一個(gè)僧侶在按照下面的法則移動(dòng)這些金片:一次只移動(dòng)一片,不管在哪根針上硼控,小片必須在大片上面刘陶。僧侶們預(yù)言,當(dāng)所有的金片都從梵天穿好的那根針上移到另外一根針上時(shí)牢撼,世界就將在一聲霹靂中消滅匙隔,而梵塔、廟宇和眾生也都將同歸于盡熏版。

聽了這個(gè)故事纷责,你是不是覺得似曾相識(shí),和小時(shí)候玩過的一款游戲很像撼短。沒錯(cuò)再膳,這個(gè)故事就是益智類游戲——漢諾塔的由來(lái)。

游戲規(guī)則如下:

有三根桿子A曲横,B喂柒,C。A桿上有N個(gè)(N>1)穿孔圓盤,盤的尺寸由下到上依次變小胳喷。要求按下列規(guī)則將所有圓盤移至C桿:

  1. 每次只能移動(dòng)一個(gè)圓盤湃番;
  2. 大盤不能疊在小盤上面。

提示:可將圓盤臨時(shí)置于B桿吭露,也可將從A桿移出的圓盤重新移回A桿吠撮,但都必須遵循上述兩條規(guī)則。

問:如何移讲竿?最少要移動(dòng)多少次泥兰?

image

記得小時(shí)候最早接觸這道數(shù)學(xué)題的時(shí)候花了不少心思,當(dāng)時(shí)不懂遞歸题禀,只會(huì)用笨辦法鞋诗,即挨個(gè)試。從2個(gè)盤迈嘹,3個(gè)盤削彬,4個(gè)盤開始推演,算完4個(gè)盤的時(shí)候秀仲,感覺摸到點(diǎn)規(guī)律了:2個(gè)盤的時(shí)候是3次融痛,3個(gè)盤的時(shí)候是7次,4個(gè)盤的時(shí)候是15次神僵。結(jié)果看上去都是奇數(shù)雁刷,而且似乎都跟2^n (n是盤子的數(shù)量)有關(guān)系,于是就大膽猜測(cè)答案是2^n-1保礼。然后再套用到5個(gè)盤上去驗(yàn)證沛励,果然如此,答案是正確的炮障。

現(xiàn)如今目派,在學(xué)編程時(shí)又遇上了同樣的問題,這一回不用再用笨辦法了铝阐,直接上代碼:

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

move A --> C
move A --> B
move C --> B
move A --> C
move B --> A
move B --> C
move A --> C

計(jì)算機(jī)在邏輯運(yùn)算方面確實(shí)有過人之處址貌,通過編程,我們也看到了數(shù)學(xué)之美徘键。


image

讓我們?cè)倩剡^頭去看看那個(gè)古老的印度傳說练对,很多人真把它當(dāng)作是傳說在看,并且一笑了之吹害。而如果你從數(shù)學(xué)的角度去看螟凭,就會(huì)發(fā)現(xiàn)它不是一個(gè)傳說,因?yàn)?的64次方-1真的是個(gè)很大的數(shù)字它呀,等于18446744073709551616螺男,如果單位是秒的話棒厘,約等于5845.54億年。想想地球才多大歲數(shù)下隧,科學(xué)家說至今不過45億年罷了奢人。真要過了5845.54億年,別說地球淆院,太陽(yáng)系可能都玩完兒了何乎,梵塔、廟宇和眾生當(dāng)然也早就灰飛煙滅了土辩。

所以支救,從這個(gè)角度看過去,學(xué)點(diǎn)數(shù)學(xué)拷淘,學(xué)點(diǎn)編程對(duì)于我們認(rèn)識(shí)世界還是有很大幫助的各墨,至少可以分清什么是傳說,什么是事實(shí)启涯。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末贬堵,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子结洼,更是在濱河造成了極大的恐慌扁瓢,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件补君,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡昧互,警方通過查閱死者的電腦和手機(jī)挽铁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)敞掘,“玉大人叽掘,你說我怎么就攤上這事【裂悖” “怎么了更扁?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)赫冬。 經(jīng)常有香客問我浓镜,道長(zhǎng),這世上最難降的妖魔是什么劲厌? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任膛薛,我火速辦了婚禮,結(jié)果婚禮上补鼻,老公的妹妹穿的比我還像新娘哄啄。我一直安慰自己雅任,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布咨跌。 她就那樣靜靜地躺著沪么,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锌半。 梳的紋絲不亂的頭發(fā)上禽车,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天,我揣著相機(jī)與錄音拳喻,去河邊找鬼哭当。 笑死,一個(gè)胖子當(dāng)著我的面吹牛冗澈,可吹牛的內(nèi)容都是我干的钦勘。 我是一名探鬼主播,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼亚亲,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼彻采!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起捌归,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤肛响,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后惜索,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體特笋,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年巾兆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了猎物。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡角塑,死狀恐怖蔫磨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情圃伶,我是刑警寧澤堤如,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站窒朋,受9級(jí)特大地震影響搀罢,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜侥猩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一魄揉、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拭宁,春花似錦洛退、人聲如沸瓣俯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)彩匕。三九已至,卻和暖如春媒区,著一層夾襖步出監(jiān)牢的瞬間驼仪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工袜漩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绪爸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓宙攻,卻偏偏與公主長(zhǎng)得像奠货,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子座掘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 項(xiàng)目中遇到一個(gè)tableView頁(yè)面上的每一個(gè)cell中都有需要播放的音頻文件,播放邏輯如下: cell離開頁(yè)面時(shí)...
    uniapp閱讀 3,213評(píng)論 3 2
  • 各過各的吧 別在互相折磨了 就讓曾經(jīng)遠(yuǎn)去 畢竟太多坎坷
    別說話看書閱讀 205評(píng)論 0 0
  • 何為選項(xiàng)菜單递惋? 選項(xiàng)菜單是某個(gè)Activity的主菜單項(xiàng),供您放置對(duì)應(yīng)用產(chǎn)生全局影響的操作溢陪,如“搜索”萍虽、“撰寫電子...
    Micheal_Yan閱讀 1,017評(píng)論 0 0