【數學】古老的乘法計算方式


Recommended Posts

今天老師心血來潮 突然說應該要頒給發明直式乘法的人 因為那實在太方便了 要不然古老的計算方法是:

例:25*5=125

直式方法大家都會

而古老的方法是:

5------25

左式除2 餘數不管 右式乘2

2------50

以此類推 直到左式為1 不能再除2

1------100

然後把左式是偶數的那列刪去(即2------50)

把右邊都相加即是答案25+100=125

我試了好幾個 都會是正解 但是請問為什麼這樣算會對...

原理是什麼??為什麼可以不管餘數??

鏈接文章
分享到其他網站

問了老師之後 有很多種解釋方式:

1.

以數對(5,25)來代表「左式是5,右式是25」好了,依此類推。

假設一開始我們就以二進制來表示

我們要算(10101,a),那麼整個運算過程是:

(10101,a)→(1010,10a)→(101,100a)→(10,1000a)→(1,10000a)

你可以發現,左式不過是依序把個位數去掉而已。(不管個位數是1或0,結果都是去掉)

再把左式是偶數的(也就是個位數是0)劃掉,右式加起來,

a+100a+10000a=10101a

正是一開始的乘法結果。

它只不過把左式逐步分解,再還原而已。

為什麼要把偶數畫掉呢?

因為「加」代表這個位數是1(奇數),「不加」代表這一位數是0(偶數)。0對於左式的還原無意義,0乘以2的乘冪還是0,我們只要1的位數就好。

2.

以矩形陣列去看

例 8 行 6 列

→ 4 行 12 列

→ 2 行 24 列

→ 1 行 48 列

例 9 行 5 列

→ 4 行 10 列 ( 餘 1 行 5 個 )

→ 2 行 20 列

→ 1 行 40 列

所以 40+5

例 25 行 5 列

→ 12 行 10 列 ( 餘 1 行 5 個 )

→ 6 行 20 列

→ 3 行 40 列

→ 1 行 80 列 ( 餘 1 行 40 個 )

所以 80+40+5 = 125

3.

5------25變成下式時

2------50

5--->2 其實5=2*2+1

但我們其實間接把它想成4----25

才變成2----50

所以本質上是有餘1的

而這個1再乘上25 就是這二式乘積(5*25-4*100)的差了

因此 只要有奇數項出現 就會除不盡

除不盡的結果就會剛好會差此奇數右邊的數這麼大 EX:本題裡 奇數5的右邊=25

結論==>奇數會除不盡 所以要補上奇數右邊的數 包括1也是奇數 也要加

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入