標籤:

乘法豎式運算是誰發明的?原理是什麼?


乘法豎式的的發明者據稱是印度人婆羅摩笈多。

一、多位數乘法
乘法豎式是一種多位數乘法,多位數乘法的原理是分而治之,把複雜的、不能處理的運算,化解為多個簡單的,能處理的運算,並最後匯總得到要計算的值。

多位數乘法就是把多位數的乘法拆解為多個個位數的乘法,進位和加法。舉例來說吧,就是把3位數被稱數乘以2位乘數,拆成兩個3位數乘以1位數的乘法,再進一步分別拆成3個個位數的乘法,即6個個位數乘法。

314×48=314×(40+8)=314×40+314×8=(300+10+4)×40+(300+10+4)×8
=300×40+10×40+4×40+300×8+10×8+4×8==12000+400+160+2400+80+32
=15072

能夠將乘法拆開本身還是由於存在乘法的分配律。

二、乘法豎式
乘法豎式利用下面介紹的排列方法使得上述多位數乘法的運算的過程直觀,整齊,容易驗算。

在上述的例子中,把乘數的個位數十位數分別在兩行,兩行錯一位,把一行的3個個位數的乘法的積放在不同的位上,然後累加起來。上面的例子里有很多0存在,對計算是一種干擾,由於已經放在了不同的位上,就可以暫時忽略這些0。

可以參考下面的示意圖:

左面的算式等同於多位數乘法中的12000+400+160+2400+80+32=15072,中間的算式把0省略,右邊的算是把3行的值壓縮到一行,顯得更為緊湊,但需要借用加法進位的方法。


誰發明的不知道,原理就是:
xyz * abc = x * abc * 100 + y * abc * 10 + z * abc


又是一個{編碼問題}。
從十進位的隱含定義可知,
數字314,含義就是300+10+4, 數字48就是40+8
那麼xyz*abc就是xyz*a*100+xyz*b*10+xyz

這個演算法不需要發明,本身定義自然會如此


看了現在一樓的回答,其實把式子反過來看很好理解,就是一個提取同類項的原理


推薦閱讀:

如何真正透徹數學思想?
為什麼實際旋轉角度是四元數裡面的角度的兩倍?有什麼數學上的原因嗎?
數學競賽是體育嗎?
怎麼證明一條直線上兩人從兩點相對而行一定會相遇?

TAG:趣味數學 |