一些有趣的算法颠覆传统算法——轻松有趣

展开全文多位数与多位数相乘不仅是数学学习的基础,更是日常生活生产中的需要.传统的算法是列竖式从乘数的个位数、十位数……依次与被乘数的个位数、十位数……相乘,然后错列相加.这种算法已经延续数百年,虽然无可厚非,但在心算进位时常常会出差错,久而
展开全文多位数与多位数相乘不仅是数学学习的基础,更是日常生活生产中的需要.传统的算法是列竖式从乘数的个位数、十位数……依次与被乘数的个位数、十位数……相乘,然后错列相加.这种算法已经延续数百年,虽然无可厚非,但在心算进位时常常会出差错,久而久之也觉得很单调乏味.下面介绍一种全新的算法,这种算法虽然也是列竖式,但不需要心算进位,只需要注意排列位置即可。一、两位数乘以两位数新算法探索:(10m+a)×(10n+b)=100mn+10mb+10na+ab=(100mn+ab)+(10mb)+(10na).列竖式时,依次将100mn+ab、10mb、10na写在第一、二、三行;这里的100mn+ab表明:当具体两位数相乘时,只需要将个位数a、b的乘积ab(如果ab是一位数,则将十位数补0)接写在十位数m、n的乘积mn的后面即可;10mb与10na的个位数是0,列竖式时都退一位,然后分两行分别写上mb与na即可。例1计算:83×67。解析:列竖式计算如图1所示。第一步:将被乘数和乘数的相同数位对齐,个位数3与7相乘,得21写在第一行(积的个位数1与被乘数、乘数的个位数对齐),十位数8和6相乘,得48,接写在个位数积21的前面,得第一行4821;第二步:将乘数的个位数7与被乘数的十位数8相乘,得56,退一位写在第二行;将被乘数的个位数3与乘数的十位数6相乘,得18,退一位写在第三行;第三步:将三行的数对齐相加,得5561,这就是83×67=5561。例2计算:92×43.解析:列竖式计算如图2所示。第一步:个位数的乘积:2×3=6,不足两位数写成06,然后在06前面接写十位数的积9×4=36,得第一行:3606;第二步:上下交叉相乘,把所得的积退一位分别写在第二行、第三行,注意:第二行和第三行的个位数都与十位数对齐。第三步:将三行的数相加,得:3956。所以92×43=3956.从竖式计算中容易概括出两位数乘以两位数的口诀为:个个相乘积写上,十十相乘接左边;个十相乘退一位,分别写在下两行。(注:\"个\"指被乘数和乘数的个位数;\"十\"被乘数和乘数的十位数;\"个十相乘\"有两组,指被乘数的个位数与乘数的十位数相乘和乘数的个位数与被乘数的十位数相乘。)二、三位数乘以三位数新算法探索:(100a+10b+c)×(100x+10y+z)=10000ax+100ay+100az+1000bx+100by+10bz+100cx+10cy+cz=(10000ax+100by+cz)+10(100ay+bz)+10(100bx+cy)+100az+100cx.列竖式时,依次将10000ax+100by+cz、10(100ay+bz)、10(100bx+cy)、100az、100cx写在第一、二、三、四、五行;这里的10000ax+100by+cz表明:当具体三位数相乘时,只需要分别将个位数c、z的乘积cz(如果cz是一位数,则将十位数补0)接写在十位数b、y乘积by的后面,把by(如果by是一位数,则将十位数补0)接写在百位数a、x乘积ax的后面。或者说,先写个位数的乘积cz与被乘数、乘数的个位数对齐(如果cz是一位数,则将十位数补0),然后在cz的两位数前面接写十位数的乘积by(如果by是一位数,则将十位数补0),再然后在by的前面接写上百位数的乘积ax;100ay+bz表明:在具体数相乘时只需要将ay接写在bz的左边(如果bz是一位数,十位数补上0);100bx+cy表明:只需要将bx接写在cy的左边(如果cy是一位数,十位数补上0)。10(100ay+bz)和10(100bx+cy)的个位数都是0,列竖式不写0时,它们都要退一位,然后分别列成两行,它们的个位数都要与被乘数和乘数的十位数对齐。100az和100cx的个位数和十位数都是0,列竖式时都要再退一位,将az、cx的个位数都与被乘数、乘数的百位数对齐。例3计算:523×749。解析:列竖式计算如图3所示。第一步:将被乘数和乘数的相同数位对齐,个位数3与9相乘,得27写在第一行(积的个位数7与被乘数、乘数的个位数对齐),十位数2和4相乘,得8,补0写成08接写在个位数积21的前面,得0827;百位数5和7相乘,得35,把35接写在0827前面,得350827,写在第一行;第二步:将乘数的个位数9与被乘数的十位数2相乘,得18,退一位写在第二行;将乘数和被乘数的位数都进一位,得乘数的十位数4与被乘数的百位数5相乘,得20,把20接写在18的前面,得2018,写在第二行;第三步:类似于第二步,将被乘数的个位数3与乘数的十位数4相乘,得12,退一位写在第三行;将被乘数和乘数的位数都进一位,得被乘数的十位数2与乘数的百位数7相乘,得14,把14接写在12的前面,得1412,写在第三行;第四步:将乘数的个位数9与被乘数的百位数5相乘,得45,退两位写在第四行;第五步:类似于第四步,将被乘数的个位数3与乘数的百位数7相乘,得21,退两位写在第五行;第六步:将五行的数对齐相加,得:391727,这就是523×749=391727.从竖式计算中容易概括出三位数乘以三位数的口诀为:个个相乘积写上,十十相乘写中间,百百相乘接左边;个十相乘退一位,十百相乘来接上,分别写在二三行;个百相乘退两位,分别写在四五行。(注:\"个\"、\"十\"和\"百\"分别指被乘数和乘数的个位数、十位数和百位数;\"个十相乘\"和\"个百相乘\"都有两组,分别指被乘数的个位数与乘数的十位数相乘和乘数的个位数与被乘数的十位数相乘;被乘数的个位数与乘数的百位数相乘和乘数的个位数与被乘数的百位数相乘;)例4计算:692×843.解析:列竖式计算如图4所示。从竖式计算中可以发现:每行数都是从个位数开始相乘:第一行是个与个,依次平行推进上下两数相乘(即相乘两数的连线是平行的);第二行是个与十,依次平行推进上下两数相乘(即相乘两数的连线是平行的)。如果上或下缺少一数,相乘终止;第三行与第二行是平等关系;第四行是个与百,再平行推进后已无数相乘。第五行与第四行是平等关系。对于任意多位数相乘都可以用上述方法进行。请看:例5计算:329×48.解析:如图5所示,分为若干行相乘计算:第一行:从乘数的个位数8开始,与被乘数的个位数9相乘写下72,然后将8、9连线平行往左依次推进,得4、2连线,相乘得8接写在72的左边(这里8是第一行数的首位,不需要补0);第二行:又是从乘数的个位数8开始,与被乘数的十位数2相乘,在第二行退一位写下16,然后将8、2连线平行往左依次推进,得4、3连线,相乘得12,接写16左边;第三行:与第二行的计算类似,把第二行中的\"乘数个位数与被乘数的十位数相乘\"改为\"被乘数个位数与乘数的十位数相乘\",即被乘数的个位数9与乘数的十位数4相乘,得36,写在第三行,与第二行的对齐,然后将9、4连线平行往左依次推进,此时与被乘数2连线的数不存在无需再算;第四行:还是从乘数的个位数8开始,与被乘数的百位数3相乘得24,再退一位(即个位数4与被乘数的十位数对齐)写在第四行。此时与8、3连线平行的两数已不存在,所以第四行只写24;与第五行对应的两数相乘不存在。故相乘计算结束。最后将五行的数相加即得:15792.例6计算:36108×592。解析:如图6所示。由上可见,这种算法都是从个位数开始,每次都是用个位数依次与十位数、百位数、千位数……相乘,而且没推进一位相乘就换一行,每推进一位相乘就退一位。可以用口诀记为:平行相乘积相连,推进一位换一行,乘积一位要补零,上下对应不能忘。例7计算:97231×4589.解析:列竖式如图7所示。

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/Jb60anNBrl.html

(0)

相关推荐