2008年10月8日 星期三

奇妙的速算

奇妙的速算
一.研究動機
當我們在國中數學第三冊學乘法公式時,像996^2=992016;1013^2=1026169;298×302=89996;117^2-17^2=13400等等的算術皆可利用完全平方式與平方差公式很快地求出答案。於是,我們懷疑是不是在別的乘法公式或恒等式背後也隱藏著別的速算法呢?

二.研究目的
學習利用已知的乘法公式或恒等式來尋找課本中沒有的乘法速算。

三.研究過程與方式
(一)國中數學第三冊提到,我們可以用完全平方公式(a+b)^2=a^2+2ab+b^2與平方差公式(a+b)(a-b)=a^2-b^2來做乘法速算。
例:
1.996^2=(1000-4)^2=1000000-8000+16=992016
2.1013^2=(1000+13)^2=1000000+26000+169 =1026169
3.298×302=(300-2)(300+2)=3002-22=89996
4.117^2-17^2=(117+17)(117-17)=134×100=13400
但我們發現上述例(1)、例(2)用(a+b)^2=a(a+2b)+b^2的形式來計算似乎更快:
1.996^2=(1000-4)^2=1000(1000-8)+16=992016
2.1013^2=(1000+13)^2=1000(1000+26)+169 =1026169
(二)由平方差公式我們又發現要計算個位數為5的兩位數之平方是很容易的,只要將它的十位數乘上(十位數+1),然後把乘得的結果補上25即可。例如:求45^2=?它的十位是4則4×(4+1)=20再補上25,於是所求的平方數便是2025。您亦可驗算一下75^2=5625,因為7×8=56在56後面補上25就是5625,這個速算法的原理是:
(10a+5)^2=100a^2+100a+25=100a(a+1)+25
a=1,2,3,4,5,6,7,8,9
上述恒等式的右式便是前面所敘述的步驟。
(三)從(二)的研究過程中,我們又得到另一個啟示:兩個兩位數,若它們的十位數相同,個位數之和等於10,我們亦可用上述(二)中的方法去求它們的積,但最後一步是補上這兩位數的個位數之積而不是補上25,例如:求58×52=?首先,5×6=30以及8×2=16則所求之積是3016。其原理是:
(10a+b)(10a+c)=100a^2+10ab+10ac+bc
=10a(10a+b+c)+bc
=10a(10a+10)+bc
=100a(a+1)+bc
b+c=10;a=1,2,3,……..9
當然,對具有相同特性的兩個三位數也可用這個方法去求。例如:我們很容易得到146×144=21024,因為14×15=210以及6×4=24。
(四)1.兩數相乘, 要是都是比100略小的數:
例如,98×93我們研究發現可以很快說出它的答案9144。怎麼速算呢?
我們很容易看出,98×93的積是4位數;98對100的補數是2,93對100的補數是7。用98減去93的補數7,或者用93減去98的補數2,得91,這就是答案的前兩位;兩個補數相乘,2×7=14這就是答案的後兩位。其原理是:
98×93=(100-2)×(100-7)
=100×(100-2-7)+2×7
=100×(98-7)+14
2.要是兩個補數相乘得到的是一位數,就在前面補個0,補足兩位;要是得到的是三位數,就進上一位。例如:98×97=9506,95=98-3,06是由2×3=6補0得到的;86×92=7912,86-8=78,14×8=112,所以結果是7912。這兩步說起來有點囉嗦,用起來卻是非常乾淨俐落的。
3.我們也發現,比1000或者10000,100000,…10^n略小的數相乘,都可以如法炮製。為什麼可以這樣算呢?
兩個數都比10^n略小一些,就一定可以用10^n -a-b和10^n -b來表示,這裡的n、a和b都是自然數,得到:
(10^n-a)(10^n-b)=10^n(10^n-a-b)+ab
右邊第二項ab,顯然就是兩個補數的乘積,右邊第一項裡的10^n-a-b,可以看作(10^n-a)-b,或者10^n -b-a,這正是一個乘數減去另一個乘數的補數;10^n是添0的數,是定留空位數的。
(五)在恒等式(10^n-a)(10^n-b)=10^n(10^n-a-b)+ab中,把”-“換成”+”得(10^n+a)(10^n+b)=10^n(10^n +a+b)+ab這樣又學會兩個都比10^n略大的數相乘的速算法了。
例:1045×1006
1045+6=1051,補三個0是1051000
45×6=270
所以1045×1006的答案是1051270。

四.研究結果
(一)個位數為5的兩位數平方的速算法,算法如上述三、(二)。
(二)兩個兩位數,若它們的十位數相同,個位數之和等於10,求它們乘積的速算法,算法如上述三、(三)。
(三)兩個都比10^n略小(或略大)的數相乘的速算法,算法如上述三、(四)、(五)。

五.討論
(一)能把上述三、(四)、(五)中的速算法統成一個嗎?
答案是可以的。這只要推廣一下補數的概念就可以了。通常,比100小的數,例如95,它補上5就是100,所以5叫做95的補數。那麼,105要補上多少才是100呢?只要補上-5就行了。也就是說,比100略大的數,它的補數是負數。
可不是嗎?100-a是a的補數,a比100大,補數是負的,完全合理。
補數可以是負的,那開頭說的方法,就不只可以用於兩個略小於10^n的數相乘,也可以用於兩個略大於10^n的數相乘。這時,減去另一數的補數,因為補數是負的,實際上是加上一個正數,兩個補數相乘,在補數是負的情況下,負乘負得正,後頭部分也是正的!
(二)再想一想,兩數相乘,要是一個比10^n略大,另一個略小,這個方法也是可以用的。
例如:995×1046
1046-5=1041
5×(-46)=(-230)
1041000-230=1040770
這就是答案。
(三)這樣看來,我們要兩個數與10^n很接近,在那個恒等式裡並不重要!實際上,隨便兩個數相乘,都能用這個方法。例如57×34,這裡的補數是43和66,34-43=(-9)補兩個0是-900,43×66=2838,(-900)+2838=1938,這就是答案。不過,這個方法比普通的算法還麻煩,就不是我們要的速算了!
(四)最後,建議你想一下,97×989能不能速算呢?背後躲著那個恒等式呢?

六.參考資料
(一)國中數學第三冊,國立編譯館,民國85。
(二)青少年百科叢書-數學遊戲故事,謙謙出版社,民國80。
(三)神秘有趣的數學,孫文先編譯,九章出版社,民國82。

沒有留言: