[力学园地]双位数乘法——印度口诀秒解

  近日来,网上流传着一个“印度乘法口诀”。和我们中国的乘法表不同,这个乘法表延伸到19以内,即所谓“19*19”乘法表。尽管其难度比“九九乘法表”更高,但配合特别的方法,却是更容易心算出正确的答案。
  网传的印度乘法表,其乘法表除了大家熟知的九以内的乘法之外,更增加了从十到十九的相乘结果。由于双位数的乘法比个位数的要复杂得多,印度人想出一个有效的心算方法。其方法是:首先将被乘数与乘数的个位数相加,然后将之乘十;再把被乘数的个位数与乘数的个位数相乘,最后把两组数加起来便得出答案。
  例如:13*12=?(这里,13是被乘数,12是乘数)
  第一步:把被乘数(13)跟乘数的个位数(2)加起来,即有13+2=15;
  第二步:把第一步的答案乘以10,即有15*10=150;
  第三步:把被乘数的个位数(3)乘以乘数的个位数(2),即有2*3=6;
  第四步:第二步+第三步,即有150+6=156;
  总算法:(13+2)*10 +(2*3)=156。
  这种算法不难用代数的方法作出如下的解释:
  我们将被乘数和乘数的个位数字(3和2)分别用A和B来表示,所以13*12可以表示为(10+A)*(10+B)。按照二项式乘法规则,我们将其展开可以得到:(10+A)*(10+B)=100+10*(A+B)+A*B=10*(10+A+B)+A*B;可以看出前面一项是被乘数加上乘数的个位数乘10,第二项就是被乘数的个位数与乘数的个位数的乘积。所以,这种心算方法是正确和可行的。
  上面例1的个位数字的数值比较小,求和与求积都仍是个位数。如果数值较大,这个方法依然可用,但需要进位。这里,我们再举一个例子:16*18=?
  第一步:把(16)跟(8)加起来,即16+8=24;
  第二步:把第一步的答案乘以10,即24*10=240;
  第三步:把(6)乘以(8),即6*8=48;
  第四步:第二步+第三步, 240+48=288;
  总算法:(16+8)*10 +(6*8)=288。
  对于这种“十几乘十几”的算法,有人还给出一个口诀:头乘头,尾加尾,尾乘尾。其含义是:乘法的结果是一个三位数,百位上的数值是由“头乘头”给定(对于本情况,该位上的数值总是“1”),十位上的数值由“尾加尾”给定(上面例1中,该位上的数值是5;上面例2中,该位上的数值是14,这里的十位数字要进位,这样百位上的数值就变为2),个位上的数值由“尾乘尾”给定(上面例1中,该位上的数值是6;上面例2中,该位上的数值是48,这里的十位数字要进位,这样十位上的数值就变为8).于是,我们很快就可     以得出:
  13*12=156
  16*18=288
  你觉得有趣吧?
  (龙翔根据网络资料撰写)
中国科学院| 中国科学院计算机网络信息中心| 科学与中国| 科普中国| 中国科普网| 人民网| 新华网| 央视网