【七種"加減乘除"法速演算法則】
一、任意一個數乘以11;1345×11=?
特徵:任意一個數乘以11
原理:假設任意四位數是(1000a+100b+10c+d),乘以11
(1000a+100b+10c+d)×11
=10000a+1000b+100c+10d+1000a+100b+10c+d
=10000a+1000(a+b)+100(b+c)+10(c+d)+d
方法:先把被乘數個位上的數字寫在積的個位上,然後從右向左把被乘數相鄰兩個數相加,
把和寫在積的十位、百位……上(如果滿10,則進位),最後把被乘數最高位上的數字寫在
積的最高位。(若有進位,要加上進位數字)
實例1:
1345×11=14795
分析:
被乘數:1345;乘數:11;積:14795
積個位上的5,等於被乘數的個位數字5。
積十位上的9,等於被乘數的個位數字5與十位數字4的和,5+4=9。
積百位上的7,等於被乘數的十位數字4與百位數字3的和,4+3=7。
積千位上的4,等於被乘數的百位數字3與千位數字1的和,3+1=4。
積萬位上的1,等於被乘數的萬位數字1。
實例2:
9995×11=109945
分析:
被乘數:9995;乘數:11;積:109945
積個位上的5,等於被乘數的個位數字5。
積十位上的4,等於被乘數的個位數字5與十位數字9的和的個位,9+5=14,取4。
積百位上的9,等於被乘數的十位數字9與百位數字9的和的個位,9+9=18,18+進位1=19,取9。
積千位上的9,等於被乘數的百位數字9與千位數字9的和的個位,9+9=18,18+進位1=19,取9。
積萬位與十萬位上的10,等於被乘數的萬位數字9+進位1=10。
實例3:
6891×11=75801
分析:
被乘數:6891;乘數:11;積:15801
積個位上的1,等於被乘數的個位數字1。
積十位上的0,等於被乘數的個位數字1與十位數字9的和的個位,9+1=10,取0。
積百位上的8,等於被乘數的十位數字9與百位數字8的和的個位,9+8=17,17+進位1=18,取8。
積千位上的5,等於被乘數的百位數字8與千位數字6的和的個位,8+6=14,14+進位1=15,取5。
積萬位7,等於被乘數的萬位數字6+進位1=7。
二、被乘數和乘數都是小於100的兩位數,並且個位數字都是1;41×51=?特徵:被乘數和乘數都是小於100的兩位數,並且個位數字都是1。
原理:假設被乘數是(10a+b);乘數是(10m+b)
(10a+b)×(10m+b)
=100am+10ab+10bm+b×b
=100am+10bm+10ab+b×b
=100am+10b(m+a)+b×b
因為b=1,那麼
=100am+10(m+a)+1×1
=100am+10(a+m)+1
實例1:
41×71=2911
分析:
被乘數:41;乘數:71;積:2911
在積個位上寫數字1。
積十位上的1,等於被乘數的十位數字4與乘數的十位數字7的和的個位,7+4=11,取1,產生進位,向百位進1。
積百位上的9和千位上的2,等於被乘數的十位數字4與乘數的十位數字7的積,7×4=28,加上進位1,實際值是29。
29=7×4+進位1
實例2:
31×61=1891
分析:
被乘數:31;乘數:61;積:1891
在積個位上寫數字1。
積十位上的9,等於被乘數的十位數字3與乘數的十位數字6的和,3+6=9。
積百位上的8和千位上的1,等於被乘數的十位數字3與乘數的十位數字6的積,6×3=18。
18=6×3
三、被乘數和乘數都是小於100的兩位數,並且個位數字都是9;99×99=?;29×39=?
特徵:被乘數和乘數都是小於100的兩位數,並且個位數字都是9。
原理:假設被乘數是(10a+b);乘數是(10m+b),且(10a+b+1)=A,(10m+b+1)=B
(10a+b)×(10m+b)
=(A-1)×(B-1)
=AB-A-B+1
=AB-(A+B)+1
實例1:
29×39=1131
被乘數:29;乘數:39;積:1131
在積個位上寫數字1。
29+1=30=A,39+1=40=B,相乘積是1200
29+1=30=A,39+1=40=B,相加和是70
所以AB-(A+B)-1=1200-70+1=1131
實例2:
99×99=9801
被乘數:99;乘數:99;積:9801
在積個位上寫數字1。
被乘數:99+1=100=A,乘數:99+1=100=B,相乘積是10000
被乘數:99+1=100=A,乘數:99+1=100=B,相加和是200
所以AB-(A+B)-1=10000-200+1=9800+1=9801
四、30以內任意兩個兩位數乘積的速算;21×22=?
特徵:被乘數和乘數都是在20到30之間
方法:把被乘數的尾數移加到乘數上,然後求積,最後再加上尾數之積。
實例1:
21×22=462
分析:21的尾數是1;22的尾數是2;如果把21的尾數移加到22上,即:22+1=23;
那麼21就變成20了,21-1=20。
21×22=20×23+1×2=460+2=462
實例2:
24×29=20×33+4×9=660+36=696
特徵:被乘數和乘數都是在20以內
方法:把其中一個因數的尾數移加到另一個因數上,
然後補一個0,最後再加上尾數之積。
實例3:
11×11=120+1×1=121。
120=(11+1)×10=120
13×19=220+3×9=220+27=247
15×18=230+40=270
五、乘數是9、99、999……的速算;25×9=?;133×9=?
特徵:當被乘數的位數和乘數中9的個數不相同時
方法:只要在被乘數的末尾添加上和9的個數
一樣多的0做被減數,最後減去被乘數。
實例:
25×9=250-25=225
分析:因為乘數里有1個9,所以25後面添加一個0,變成250
133×99=13300-133=13167
分析:因為乘數里有2個9,所以133後面添加2個0,變成13300
99×9999=990000-99=989901
分析:因為乘數里有4個9,所以99後面添加4個0,變成990000
特徵:當被乘數的位數和乘數中9的個數相同時
實例:
25×99=2475
分析:被乘數是25;乘數是99;25-1=24,24會被作為積的前面兩位;
積的後兩位75=(100-25)
實例:
88×99=8712
分析:被乘數是88;乘數是99;88-1=87,87會被作為積的前面兩位;
積的後兩位12=(100-88)
實例:
511×999=510489
分析:被乘數是511;乘數是999;511-1=510,510會被作為積的前面三位;
積的後三位489=(1000-511)
六、兩位數乘法:十位數相同,兩個個位數之和等於10;56×54=?;37×33=?特徵:被乘數和乘數十位上的數字相同,被乘數和乘數個位上的數字的和是10。
方法:假設被乘數是:a×10+b;乘數是:m×10+c;
(a×10+b)×(a×10+c)
=a×(a+1)加上(b×c)
把十位數乘以(十位數+1)的積,作為積的前兩位;
把兩個個位數之積,作為積的後兩位。
實例1:
58×52
=5×(5+1)×100+(8×2)
=30×100+16
=3016
實例2:
11×19
=1×(1+1)×100+(1×9)
=2×100+9
=209
實例3:
95×95
=9×(9+1)×100+(5×5)
=90×100+25
=9000+25
=9025
七、兩位數乘法:被乘數的兩個數之和等於10, 乘數由同一個數字組成:37×33
特徵:被乘數的兩個數位上的數之和等於10,乘數兩個數位上的數相同。
方法:把被乘數的十位上的數加1,用所得的和乘以乘數十位上的數字,所得的積作為積的前兩位;
把兩數的個位數之積,作為積的後兩位
實例1:
46×77
=(4+1)×7×100+6×7
=5×7×100+42
=3500+42
=3542
實例2:
91×66
=(9+1)×6×100+1×6
=10×6×100+6
=6000+6
=6006
實例3:
37×33
=(3+1)×3×100+7×3
=4×3×100+21
=1200+21
=1221
一、兩位數乘兩位數 1.十幾乘十幾:口訣:頭乘頭,尾加尾,尾乘尾。例:12×14=?解:1×1=1 2+4=6 2×4=812×14=168註:個位相乘,不夠兩位數要用0佔位。 2.頭相同,尾互補(尾相加等於10):口訣:一個頭加1後,頭乘頭,尾乘尾。例:23×27=?解:2+1=3 2×3=6 3×7=2123×27=621註:個位相乘,不夠兩位數要用0佔位。 3.第一個乘數互補,另一個乘數數字相同:口訣:一個頭加1後,頭乘頭,尾乘尾。例:37×44=?解:3+1=44×4=167×4=2837×44=1628註:個位相乘,不夠兩位數要用0佔位。 4.幾十一乘幾十一:口訣:頭乘頭,頭加頭,尾乘尾。例:21×41=?解:2×4=82+4=61×1=121×41=861 5.11乘任意數:口訣:首尾不動下落,中間之和下拉。例:11×23125=?解:2+3=53+1=41+2=32+5=72和5分別在首尾11×23125=254375註:和滿十要進一。 6.十幾乘任意數:口訣:第二乘數首位不動向下落,第一因數的個位乘以第二因數後面每一個數字,加下一位數,再向下落。例:13×326=?解:13個位是33×3+2=113×2+6=123×6=1813×326=4238註:和滿十要進一。數學中關於兩位數乘法的「首同末和十」和「末同首和十」速演算法。所謂「首同末和十」,就是指兩個數字相乘,十位數相同,個位數相加之和為10,舉個例子,67×63,十位數都是6,個位7+3之和剛好等於10,我告訴他,象這樣的數字相乘,其實是有規律的。就是兩數的個位數之積為得數的後兩位數,不足10的,十位數上補0;兩數相同的十位取其中一個加1後相乘,結果就是得數的千位和百位。具體到上面的例子67×63,7×3=21,這21就是得數的後兩位;6×(6+1)=6×7=42,這42就是得數的前兩位,綜合起來,67×63=4221。類似,15×15=225,89×81=7209,64×66=4224,92×98=9016。我給他講了這個速算小「秘訣」後,小傢伙已經有些興奮了。在「糾纏」著讓我給他出完所有能出的題目並全部計算正確後,他又嚷嚷讓我教他「末同首和十」的速算方法。我告訴他,所謂「末同首和十」,就是相乘的兩個數字,個位數完全相同,十位數相加之和剛好為10,舉例來說,45×65,兩數個位都是5,十位數4+6的結果剛好等於10。它的計演算法則是,兩數相同的各位數之積為得數的後兩位數,不足10的,在十位上補0;兩數十位數相乘後加上相同的個位數,結果就是得數的百位和千位數。具體到上面的例子,45×65,5×5=25,這25就是得數的後兩位數,4×6+5=29,這29就是得數的前面部分,因此,45×65=2925。類似,11×91=1001,83×23=1909,74×34=2516,97×17=1649。為了易於大家理解兩位數乘法的普遍規律,這裡將通過具體的例子說明。通過對比大量的兩位數相乘結果,我把兩位數相乘的結果分成三個部分,個位,十位,十位以上即百位和千位。(兩位數相乘最大不會超過10000,所以,最大只能到千位)現舉例:42×56=2352 其中,得數的個位數確定方法是,取兩數個位乘積的尾數為得數的個位數。具體到上面例子,2×6=12,其中,2為得數的尾數,1為個位進位數;得數的十位數確定方法是,取兩數的個位與十位分別交叉相乘的和加上個位進位數總和的尾數,為得數的十位數。具體到上面例子,2×5+4×6+1=35,其中,5為得數的十位數,3為十位進位數;得數的其餘部分確定方法是,取兩數的十位數的乘積與十位進位數的和,就是得數的百位或千位數。具體到上面例子,4×5+3=23。則2和3分別是得數的千位數和百位數。 因此,42×56=2352。再舉一例,82×97,按照上面的計算方法,首先確定得數的個位數,2×7=14,則得數的個位應為4;再確定得數的十位數,2×9+8×7+1=75,則得數的十位數為5;最後計算出得數的其餘部分,8×9+7=79,所以,82×97=7954。同樣,用這種演算法,很容易得出所有兩位數乘法的積。推薦閱讀:
※Leetcodes Solution 34 Search for a Range
※LintCode/LeetCode 概括總結全集
※民間絕學八字新演算法直斷七柱法[原創3]
※干支紀年簡便推演算法
※演算法教練談談碼工面試