黃蓉說:靖哥哥,這道數學題我會
江湖
再見
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:超級數學建模 |