展開選單

網站服務選單

登入

頁面路徑列表

子選單列表

充電5分鐘5-Minute Reading

蜀國閱兵大典中,孔明如何用陣形變化數學題對關羽、馬超使出心理戰?

  • 字級


答錯數學題的馬超有機會為自己扳回一城嗎?(圖/wiki


我們喜歡看歷史故事,不同角色在時代的舞台上粉墨登場,激盪出燦爛絢麗的火花。
我們討厭算數學題目,不同公式在抽象的課本中擠成一團,編織成堅硬無趣的知識。
但你凝神一看,歷史故事裡處處是數學題目,好些細節不靠數據分析還揪不出來。
歷史故事看得多,數學題目做得少。這次讓我們平衡一下,來一段數感演義。




問起《三國演義》最喜歡的人物,很多人會選長坂坡單騎救主的趙雲,應該也有不少人選火燒赤壁的周瑜,或三分天下的諸葛亮。趙雲是武將,周瑜與孔明是軍師,三國演義裡武將在戰場上縱橫四方,好不威風。軍師往往只坐在大營裡看地圖、等探子回報後,跟武將剛好相反,越厲害的越一派悠哉,偶爾上第一線,卻還像黃花大閨女一樣坐轎子,搖扇子討個清涼。

仗打贏了,軍師功勞不比武將小;打輸了,軍師被請到敵營勸降,武將運氣差一點得領便當,躺在沙場上哪兒都不知道。這好比一段西洋故事:雞跟豬合夥開早餐店,平分利潤。可雞只提供(contribute)雞蛋,豬卻得奉獻(commit)的生命。

軍師是戰場上的白領階級,靠專業知識分析、決策,得到較優渥的報酬,確保較高的生存機率。只是,他們的專業究竟是什麼呢?

答案是數學。

今天讓我們進入《三國演義》中劉備攻下西蜀的劇情,搭配數學古籍《數書九章》裡的題目,展現出軍師「布陣」時所用到的複雜數學技巧。

※ ※ ※

卻說劉璋接連收到被劉備軍打敗的壞消息,心情沉重,好不容易聽到馬超帶救兵來,登上城門準備跟求援,卻得到馬超的回答:

吾本領張魯兵來救益州,誰想張魯聽信楊松讒言,反欲害我,今已歸降劉皇叔。公可納士拜降,免致生靈受苦。如或執迷,吾先攻城矣!

馬超竟然陣前叛變!劉璋無力支撐,決定無血開城投降。於是,西川的統治權正式從劉璋移轉到劉備手上,三分天下大勢抵定,劉備自封益州牧,手下文武百官一併封賞,最重要的當然是軍師諸葛亮及諸位將軍。

關雲長為盪寇將軍漢壽亭侯,張飛為征遠將軍新亭侯,趙雲為鎮遠將軍,黃忠為征西將軍,魏延為揚武將軍,馬超為平西將軍。

劉備遣人殺牛宰馬犒賞士兵,又開放糧倉讓百姓吃飽。諸葛亮擬定完善的治國條例,穩定西川局勢。眼看財政上軌道,孔明建議劉備,不妨來一場閱兵大典,提升士氣,更有助整合西川與荊州的部隊。劉備點點頭,孔明的話怎麼能不聽呢。

※ ※ ※

問步兵五年,年一萬二千五百人。作方陣,人立地方八尺。欲變為前後銳陣,陣後闊今多原方面半倍,陣間仍容騎路五丈以上,順銳形出入。求方陣面,銳陣長,及前後銳陣各步兵幾何?——《方變銳陣•數書九章》

這日,孔明招集張飛、趙雲、馬超、黃忠四人,命令他們各領12,500士兵。孔明說:
「請4位將軍把士兵統整起來,加上我的親兵12,500人,排成正方形陣容。這是半個月後閱兵大典的進場隊形。」
「5支隊伍,每支12,500人,總計62,500人。」
馬超算了算,回頭吩咐馬岱:
「最後的方陣每排250人,你去指揮隊伍。」
馬岱應聲而去,張飛在一旁故意露出敬佩的表情:
「好厲害噢,知道62,500……」
「開根號。」趙雲提醒張飛。
「噢,謝謝。」

張飛用自以為很小聲,但其實全場人都聽得到的音量跟趙雲道謝,轉頭跟馬超說:
「62,500開根號是250人,看來馬兒不只武藝跟俺差不多,數學也跟俺有得比嘛。」
「這是讚美還是嘲笑?」
「很明顯是讚美吧!」
馬超聳聳肩膀,西涼沒什麼軍師,行軍打仗他常得自己布陣,久而久之也會一些計算。當然比不過孔明,不過其他人嘛,哼,是該讓大家見識一下錦馬超的智者形態了!

五支隊伍排成方形後,孔明告訴大家:
「行進間,隊伍將變換成銳陣(正三角形)。三角形邊長是方陣的1.5倍。」
每排250×1.5=375人。
孔明對馬超投以讚許的眼神。剛加入劉備軍,馬超像來到新班級的轉學生,想討好老師。孔明繼續說:
「這時再有一組騎兵加入,所以銳陣中間要開一條至少5丈寬的騎兵跑道。銳陣將被分割成前後兩陣。我要求,後陣底邊的人數,差不多要是前陣左右兩側底邊人數的兩倍。

孔明拿出示意圖:


眾將軍圍在示意圖周圍看,好學生馬超發言:
「士兵間距0.8丈,跑道左右加起來10丈寬,差不多可以站13個人。原本底是375人,少了13個人的位置,只能站362人。假如後陣底邊是182人,前陣兩邊各90人。因為是正三角形,每往前一排少1人,直到正三角形尖端那排為1人。這樣就可以了。」
馬超強勢追極,積極表現,
「後陣底邊182人,第一排1人,是每排少一人的等差數列,共有182項,帶入等差公式182×(182+1)/2=16,653人,這是後陣的人數。」
「前陣就是62,500-16,653=45,847人。」
馬超一口氣講完,卻沒聽孔明老師的鼓勵。

※ ※ ※

眾人抬頭一看指揮台,只見孔明身旁多了一位關平,他帶關羽的信從荊州入川,信中提到久聞馬超武藝過人,想入川來跟他比武一番。荊州主帥離開了那還得了,劉備看完信很煩惱,便叫關平來找孔明。好在孔明不僅數學好,心理學也略懂,他提筆寫下:

以亮度之,孟起雖雄烈過人,不過黥布,彭越之徒耳;當與翼德並驅爭先,猶末及美髯公之絕倫超群也。今公受任荊州,不為不重;倘一入川,若荊州有失,罪莫大焉。惟冀明照。

張飛走上指揮台,一把拿過孔明的信,讀完後說:
「馬兒,軍師也說咱們差不多啊,這是讚美,讚美。」
馬超沒搭理他,等著孔明評比他的佈陣,張飛這粗人,才沒辦法算得這麼精準。
孔明笑著奪回信件,交給關平。這時趙雲忽然脫口而出:
「馬超,你的算法有問題。」
他指著前陣解釋:
「倘若不留騎兵通道,銳陣擺滿是375×(375+1)/2=70,500人。前陣人數就是70,500人,扣掉包含跑道與後陣的中型三角形人數。中型三角形邊長是182+13=195,換算起來有19,110人的空間。所以照你的規劃,總共需要:
70,500-19,100=51,400人。
但目前排完後陣只剩4萬5千多人,還差5千多人。」

馬超愣住了,趙雲說的沒錯,那該怎麼修正。他腦海裡飛過一堆數字跟算式,趙雲只是提出錯誤,還沒想到解決方法,如果他能想到,依然有表現機會。

一直沒說話的黃忠開口:
「馬超將軍的跑道寬度太小了。如果放寬跑道大於5丈,需要的總士兵數就能減少。擺滿是70,500人,現在只有62,500人。相當於假設跑道站人,要站70,500-62,500=8000人。所以跑道得放寬成……」

這老頭子怎麼那麼厲害!沒關係,老頭子只是提出概念,還沒轉換成數學,年紀大的人講講方法沒問題,但要變成精密的數學就是另一回事,馬超腦袋全力運轉。奈何黃忠沒留給他多少時間:
「把跑道分成三個區塊,最上端的三角形,還有兩側各一塊平行四邊形。假設跑道一排站x人,三角形站2x(2x+1)/2=x(2x+1)人,一塊平行四邊形站(8000- x(2x+1))/2=4000-x(2x+1)/2。平行四邊形的長邊剛好是後陣的邊長,對應的高就是x人,所以後陣邊長是:4000/x-(2x+1)/2

不妙,一元未知方程式,黃忠已經列了一半,再用x寫出另一種後陣邊長的表示法,一切就結束了。數學焦慮襲來,讓他連思考都變得困難。
「前陣跟後陣底排的人數要差不多,可以列:4000/x-(2x+1)/2= (375-2x)/2(註1)

不虧是劉備軍第一使槍高手,趙雲再補上一槍。馬超只剩最後一絲機會,得先一步算出來,方能扳回一城。

x約是21,帶入4000/21-43/2,可得後陣邊長169人,前陣兩側各(375-168-42)/2=82人。
張飛若無其事的說完這句話,最後還打了一個大呵欠。馬超眼睛瞪得比張飛還大,不可思議的盯著張飛,這位巨漢的數學竟然這麼好。張飛伸手搭馬超肩膀:
「俺以前不會算這些,還不是軍師教俺的。馬兒別洩氣,咱們一起帶兵打仗,以後軍師也會多教你一些。」
他拍拍馬超:
「所以剛不是說了嗎,跟俺差不多是讚美啊。」
張飛放開嗓子大笑,不遠處1位士兵被震落馬下(註2),被其他士兵帶去休息。
「三爺不要笑那麼開心啦!」
一陣混亂中,沒人瞧見張飛把手掌中的白色錦囊塞進盔甲裡。
孔明在指揮台上開心地搖著扇子。其實,方才他寫了兩封信,用了兩次心理戰。一次捧了捧關羽,讓他留在荊州。一次,用張飛挫了挫馬超銳氣,讓他知道自己只是一位將軍,不再是雄霸一方的西涼諸侯了。

/////
註1:如果你夠細心,會發現等式右邊帶x=21,會得到166.5,跟右邊的169.0不一樣。這是因為原來的等式,x可以是任意實數,不一定要是整數。但孔明應該不會為了布一個陣,把士兵砍成一半。

註2:按照孔明給張飛的錦囊排法,最後排出來需要62,499人,少了一人。所以他還安排了一位被張飛笑聲震倒的傢伙,他其實是馬謖喬裝的親兵。



作者簡介

數學作家、譯者,認為數學不只是助眠跟考試工具,而是一種精準描述的語言。理解數學,就能用另一種更理性與特殊的角度來理解世界。文章散見於《聯合報》《國語日報》《未來少年》數學專欄,著書有《超展開數學教室》《葉丙成的機率驚艷》《再見,爸爸》《超展開數學約會》,曾獲時報文學獎(書簡組),菠羅科學獎(數學)。
2017年OKAPI全新推出:賴以威專欄【數感演義】(歡迎至網頁右上角點選訂閱OKAPI電子報)


延伸閱讀

上下則文章

回文章列表

關閉

主題推薦

吵完0是不是偶數,要不要來做些更進階的三國數學?

如何不著痕跡統計討厭曹操的人數?「連環計」背後的數學原理是什麼?三國趙雲如何用數學進行即刻救援?

464 0