當前位置:
首頁 > 知識 > 黃蓉說:靖哥哥,這道數學題我會

黃蓉說:靖哥哥,這道數學題我會

江湖

再見

2018年10月30日,武俠小說大家,金庸先生逝世。

金庸(1924年3月10日-2018年10月30日),原名查良鏞,生於浙江省海寧市,1948年移居香港 。當代武俠小說作家、新聞學家、企業家、政治評論家、社會活動家,「香港四大才子」之一 。

作為90後,相信許多人也跟小天一樣,都看過金庸先生的小說翻拍成的電視劇,比如《飛狐外傳》、《神鵰俠侶》、《倚天屠龍記》、《天龍八部》、《鹿鼎記》等。

那時候不像現在,沒有pad,沒有智能手機,每天最開心的事情莫過於寫完作業後,能在看會電視。雖然這些作品已經過去了多年,但我們也從未忘記過。

作為一名十八線的科普網紅,今天我們來掰掰金庸先生的小說中的數學文化。

在《射鵰英雄傳》之中就有這麼一段情節:

黃蓉坐了片刻,精神稍復,見地下那些竹片都是長約四寸,闊約二分,知是計數用的運算元。再看那些運算元排成商、實、法、借算四行,暗點運算元數目,知她正在計算五萬五千二百二十五的平方根,這時「商」位上已記算到二百三十,但見那老婦撥弄運算元,正待算那第三位數字。黃蓉脫口道:「五!二百三十五!」

那老婦吃了一驚,抬起頭來,一雙眸子精光閃閃,向黃蓉怒目而視,隨即又低頭撥弄運算元。這一抬頭,郭、黃二人見她容色清麗,不過四十左右年紀,想是思慮過度,是以鬢邊早見華髮。那女子搬弄了一會,果然算出是「五」,抬頭又向黃蓉望了一眼,臉上驚訝的神色迅即消去,又見怒容,似乎是說:「原來是個小姑娘。你不過湊巧猜中,何足為奇?別在這裡打擾我的正事。」順手將「二百三十五」五字記在紙上,又計下一道算題。

這段故事當中,郭靖與黃蓉被鐵掌派追殺,郭、黃二人無意中闖到瑛姑的小屋中,正巧撞見瑛姑正在算這樣一道開平方的問題。

那麼小說當中,宋朝人用來計算平方根的方法是什麼呢?我們今天就來介紹一下。

增乘開方法

那麼增乘開方法是如何來計算一個數的平方根的呢?

舉個例子

我們就以小說中瑛姑所計算的求55,225的平方根這個問題為例(為了便於理解我們就直接用阿拉伯數字來表示,就不用算籌啦。

首先我們把55,225放入實這一行。

1.由於55,225是一個五位數,因此我們估算商應當是一個三位數,並且由於萬位上的數是5,所以估計商的百位數是2(200的平方是40,000,而300的平方是90,000,所以商的百位數一定是2)。

2.令借為1,法的值則為借乘商(1×2)。

3.更新實,使之為原實減去商乘法(5-2×2=1),則新實為1。

4.更新法為商乘借加到舊法上(2+2×1=4)。

5.將法後移一位,借後移兩位。

然後我們再次重複1- 5的循環;

1.估算商的十位為3(3×4,000=12,000<15,225)。

2.更新法,為原法加十位商乘借(4,000+3×100=4,300)。

3.更新實,使之為原實減去商乘法(15,225-4,300×3=2,325),則新實為2325。

4.更新法為商乘借加到舊法上(43+3×1=46)。

5.將法後移一位,借後移兩位。

第二輪結束,第三輪開始,再一次重複這五個步驟。

1.估算商的個位為5。

2.更新法,為原法加個位商乘借(460+5×1=465)。

3.更新實,使之為原實減去商乘法(2325-465×5=0)。

到這一步我們驚喜的發現,實的值為0了,也就是說我們最後解出來了55,225的平方根為235。

我們可以再驗證一下,計算235的平方。

發現235的平方果然是55,225,也就是說我們的計算結果是正確的。

增乘開方法的步驟

總結一下,增乘開方法其實一共五個步驟:

估算商;

用商乘借加到法上;

實減去商乘法;

再用商乘借加到法上;

法後移一位,借後移兩位。

然後只要不斷地循環上述步驟,直到實為0,此時的商就是我們所求的平方根的值啦。

案例二:如何用增乘開方法開更高次方?

案例一我們說到,郭靖黃蓉二人誤打誤撞來到了瑛姑的小屋,看到她正在計算一道開平方的問題,我們繼續來看小說後面的案例二:

這次是求四34012240的立方根,她剛將運算元排為商、實、方法、廉法、隅、下法六行,算到一個「三」,黃蓉輕輕道:「三百二十四。」那女子「哼」了一聲,哪裡肯信?布算良久,約一盞茶時分,方始算出,果然是三百二十四。

接下來瑛姑又計算了一道開立方的問題,那麼如何來開一個數的立方根呢?

其實之前我們所講的增乘開方法,不只能用來開平方根,還能用來開立方以及更高次方的根。

小說中的bug

書中所寫故事的時代背景是寫到成吉思汗去世為止,成吉思汗死於公元1227年,而關於賈憲的增乘開方法的提出時間,所能找到的最早的記載是楊輝的《詳解九章演算法纂類》,該書寫於1261年。

也就是說,瑛姑所用的開平方的方法,如果按照時間關係上來看,所用的應該是時間更早的《九章算術》中的開平方的方法;但如果根據書中所寫的瑛姑把算籌擺成「商、實、法、借」四行的話,就應該用的是賈憲的增乘開方法了。

而瑛姑所用的開立方的方法,將運算元擺為六行,又是《九章算術》的方法了,用增乘開方法的話只需要擺成五行就夠了。

增乘開方法是賈憲在《九章算術》中開方的方法的基礎上,對傳統方法進行改進,並推廣到了開更高次方的情況,因此,我們還是主要來介紹增乘開方法。

我們先來複習一下,之前所講的增乘開方法的五個步驟:估算商;用商乘借加到法上;實減去商乘法;再用商乘借加到法上;法後移一位,借後移兩位。

只要不斷循環這五個步驟,直到實變為0,所得到的商就是我們的結果啦。

舉個例子

接下來我們還是以小說中的這道題為例來計算,為了便於理解,我把每一步計算所變化的數框了起來~

先將被開方數放到實的位置上,並將1置於下法。

將下法的1每次向前移動兩格,共移動了三次,說明商應當是一個三位數。

接下來正式開始計算啦

1.估算商的值為3(3的三次方為27,小於34)。

2.用商乘下法置於廉(3×1=3),再用商乘廉置於方(3×3=9)。

3.實減去商乘方(34-3×9=7)。

4.商乘下法加到廉(3×1+3=6),商乘廉加到方(9+3×6=27)。

再用商乘下法加到廉(3×1+6=9)。

5.將方、廉、下法一次向後退1、2、3格。

然後我們就可以開始下一個循環啦。

1.估計商的十位為2。

2.商乘下法加到廉,商乘廉加到方。

3.實減去商乘方。

4.商乘下法加到廉,商乘廉加到方,商乘下法加到廉。

5.將方、廉、下法一次向後退1、2、3格。

第二個循環結束,開始第三遍啦~

1.估計商的個位為4。

2.商乘下法加到廉,商乘廉加到方。

3.實減去商乘方。

我們驚喜的發現,實變成了0,也就是說,我們所求的34,012,224的立方根就是324!

開立方的步驟

我們總結一下,開立方其實也是五個步驟:

估算商;

商乘下法加到廉,商乘廉加到方;

實減去商乘方;

商乘下法加到廉,商乘廉加到方,商乘下法加到廉;

將方、廉、下法一次向後退1、2、3格。

和開平方的步驟一樣,接下來只要不斷地循環以上步驟,直到實為0,此時的商便是所求的根啦~

推廣到開任意次方的步驟

我們先把開平方和開立方的步驟放到一起來對比一下。

從這個表格中我們能夠非常容易的找到規律,從而總結出用增乘開方法開任意正整數次方的方法。

假設我們要求一個數的n次方(n為正整數),那麼我們共需要寫出n+2行,前兩行分別是商和實,其餘的n行我們用N1、N2、···、Nn來表示。

將被開方數放入實這一行,在Nn上的最後一格放上一個1,將Nn上的1向左移動,每次移動n-1格,在下一次移動便會超出實的時候停止,此時1移動的次數便是商的位數。

接下來,我們就可以開始進行五個步驟循環的計算啦~

1.估算商。

估計出一個商的第一位數的值,設它為a1,a1的n次方應當小於1上面的實的值,而a1+1的n次方是大於它的。

2.依次從下到上填入數字,Nn中已經填入了1,接下來

Nn-1=a1×1

Nn-2=a1×Nn-1

……

N1=a1×N2

3.更新實。新的實=原實-N1×a1

4.更新從N1到Nn

第1輪:

Nn-1=a1×1+Nn-1

Nn-2=a1×Nn-1+Nn-2

……

N1=a1×N2

第2輪:

Nn-1=a1×1+Nn-1

Nn-2=a1×Nn-1+Nn-2

……

N2=a1×N3

如此不斷循環下去,一直重複到第n-2輪,只剩下一步,Nn-2=a1×Nn-1+Nn-2為止。

5.將從N1到Nn上的數依次向後移動1、2、3、...n個格。

接下來只要重複上述幾個步驟,直至實變為0為止。

如果是無法開出整數的情況的話,實便永遠除不盡,便可以不斷地重複上述步驟,得到後面無窮無盡的小數啦。

【參考文獻】

[1] 金庸. 射鵰英雄傳[M]. 北京: 生活·讀書·新知三聯書店, 1994.

[2] 梅榮照. 賈憲的增乘開方法——高次方程數值解的關鍵一步[J]. 自然科學史研究, 1989, (01)::1-8.

[3] 李兆華. 增乘開方法與賈憲三角形[J]. 中等數學, 1986, (1): 44-45.

選購數學科普正版讀物

超模君嚴選「數學思維好物」

送給孩子的閱讀禮物|辦公室神器

有益孩子一生的玩具|居家高科技

走進數學:人物、趣談、科技、發展史

超模君精品課程推薦:

本文系網易新聞·網易號「各有態度」特色內容

分享、轉發請隨意

轉載請在公眾號中,回復「轉載」


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 超級數學建模 的精彩文章:

千萬別學數學,根本想不到如此簡單的數學小問題居然……
每個人都應該學習編程,因為它會教你如何思考

TAG:超級數學建模 |