整數相乘的另類演算法

小學數學中的乘法運算,想來大家都會,只要能背“九九表”,肯定是沒有問題的了,但你是否想過還有其他不同的演算法呢?只要你認真地去思考這個問題,一定還會有其他的發現。

整數相乘的另類演算法

沉重的數學

我在小學讀書時,老師就曾教過一種特殊數的運算方法,例如25×25=625,運算時只要十位數相同,個位數是5的數,結果就是末尾兩位數是25,再在前面添上比它大1的數相乘的結果就行。即運算25×25時,前面的數是2×3的結果,後面兩位都是25,組成625。再如75×75就等於5625,135×135就是13×14=182,加25後就等於18225。看來這樣運算的確是快多了。

根據老師的方法,我發現如果兩位數的末位數字相加等於10的話,那麼上面的方法是可以適用的。例如34×36=1224,末尾兩位數是4×6的結果,前面兩位數是3×4的結果。再如72×78就等於5616,只要十位數相同,個位數互補(這裡的互補指兩個數之和為10),就能採用這種方法運算了。當然前面的十位數也可以換成相同的兩位數、三位數等,如:134×136就等於18224,如果末尾兩位數能補成100的整數也行,如:1340×1360就等於1822400,此處的個位數雖然都是0,但只要轉換成前面的數相乘就可以了。

現在問題來了,如果末尾數不互補,能不能滿足上面的演算法?結果當然不行!例如53×54≠3012,那還有沒有其他演算法呢?現在我們來研究一下35×37=1295的情況,前面兩位是3×4=12成立,但後面兩位是5×7=35不成立,問題出在哪裡?這是因為末位數不互補造成的,末位數5+7等於的是12,超出的2還要與前面的數字3相乘,添至十位數上才能等於1295,因此我們在計算時可以用個位數乘以個位數,十位數乘以多1的數,再添上超出數乘十位數放中間,就可得到1235+60=1295了,如73×79=5627+140=5767,44×49=2036+120=2156,但如果末位數不足10呢,則需要減去相應的中間值,如43×46=2018-40=1978,這個就叫“湊整剛好,超加缺減”,運算起來反而繁瑣。

整數相乘的另類演算法

小學生的課堂

其實剛才的個位數之和不足整十,或超出整十部分,都與個位數有關,我們不防可以先把其中一個數的個位數加上另一個數,如前面的35×37,可以先算35+7=42,再算42×3=126,再加個位數乘積35,就可以得到1295了,即原式寫成了(35+7)×30+5×7=1295,這個原理是把後一個數拆分成30和7,再計算高位和低位,各自相加得總數,例如73×79=82×70+27=5767,累試無錯,只是計算複雜了些。

整數相乘的另類演算法

上面的這些演算法都只是一些小把戲而已,而且資料特殊,帶有一點小技巧,不具有普智性,要通用還得靠老方法才行,因此學習還得按書本上的來,不過多學一種方法也是好的,在某些場合還可以賣弄一下,例如,計算2的20次方,就可以用32×32=1024,1024×1024等於(1024+24)後接24×24=576,就得1048576了,是不是很快啊!祝你早日發現玄機,學好數學。