加载中…
个人资料
听风来过
听风来过
  • 博客等级:
  • 博客积分:0
  • 博客访问:1,626
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

关于印度式算法

(2014-03-20 20:40:24)
分类: 反思随笔

转了个《印度式11-19两位数乘法口算方法》的帖子,满有意思。摘录如下:

13×12=?

印度人是这样算的:

第一步:先把(13)跟乘数的个位数(2)加起来,13215

第二步:然后把第一步的答案乘以10(也就是说后面加个0

第三步:再把被乘数的个位数(3)乘以乘数的个位数(2),2×3=6

132)×106156

转天分享给学生,学生兴趣浓厚,很快便掌握了方法,并且提出要用更大的数来尝试一下,比如26×28,但试验的结果让人失望——这办法不灵了!

学生很不满足,纷纷表示要找到到底哪里出了问题。

那好吧,我们就来先从印度人的算法分析一下:

仍然以13×12为例。

首先,为什么一定要限制在1119之内?

这是这种算法的先决条件。根据乘法交换律,13×1212×13的积相等,在这种算法中,用第一个乘数加第二个乘数的个位数字,如果两个乘数的十位数字不同,势必造成相加的结果有差异,因为后续算法一致,一定会产生不同的积,这就违背了乘法交换律。也就是说,要采用这种算法,两个乘数的十位数字必须相同(132=123),那学生提出的26×28同样也满足这个要求。

其次,为什么要用(132)×10,然后再加上两个乘数个位数字的乘积呢?

分解一下13×12的计算过程:

用第二个乘数的个位数字2与第一个乘数的各个数位上的数相乘:2×3=62×10=20

用第二个乘数的十位数与第一个乘数的各个数位上的数相乘:10×3=3010×10=100

以上计算中,共得到15101003020),再加上个位数字乘积6,即可得到156

对照可知,用(132)×10,实际上是将算得若干个10的计算合并了,然后再加上6

有了以上的分析,那么,随着乘数十位数字的变化,计算中要去乘的那个整十数也必然要发生变化。则26×28可如此计算:

268)×20=680

6×8=48

68048=728

学生竖式验证的结果完全吻合。

至此豁然开朗,整理如下:

26×28

=206)×(208

= 20×2020×820×66×8

=2068)×206×8

=268)×206×8

= 68048

= 728

那么,任何两个十位数字相同的两位数相乘,都是可以照办的了:

37×34=374)×307×4=123028=1258

94×96=946)×904×6=900024=9024

探索到此,学生已激动不能自已了——“老师太厉害啦!”

——厉害的不是老师,而是你们的追问帮大家找到了探索的方向!

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有