Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >特殊多位数乘法口算算法

特殊多位数乘法口算算法

作者头像
全栈程序员站长
发布于 2022-09-01 09:20:39
发布于 2022-09-01 09:20:39
8080
举报

大家好,又见面了,我是你们的朋友全栈君。

本文转自:我爱口算网,但是本人有一定更正,因此转载请注明出处

一、关于9的数学口算技巧(两位数乘法) 关于9的口诀: 1 × 9 = 9 2 × 9 = 18 3 × 9 = 27 4 × 9 = 36 5 × 9 = 45 6 × 9 = 54 7 × 9 = 63 8 × 9 = 72 9 × 9 = 81 上面的口诀小朋友们已经会了吗? 小学一年级可能只学了加法,二年级第一学期数学就要学乘法口诀了。 其实很多家长可能在小朋友没上学时就教会了上面的口诀了。 但是小朋友有没有再细看一下上面的口诀有什么特点呢? 从上面的口诀口有没有看到从1到9任何一个数和9相乘的积,个位数和十位数 的和还是等于9。 你看上面的:0 + 9 =9;1 + 8 = 9;2 + 7 = 9;3 + 6 = 9; 4 + 5 = 9;5 + 4 = 9;6 + 3 = 9;7 + 2 = 9;8 + 1 = 9 或许小朋友们会问,发现这个秘密有什么用呢? 我的回答是很有用的。这是锻炼你们善于观察、总结、找出事物规律的基础。 下面我们再做一些复杂一点的乘法: 18 × 12 = ? 27 × 12 = ? 36 × 12 = ? 45 × 12 = ? 54 × 12 = ? 63 × 12 = ? 72 × 12 = ? 81 × 12 = ? 关于两位数的乘法,可能要等到3年级才能学到,但小朋友是不是看到了上面的题目中,前面的乘数都是9的倍数,而且个位和十位的和都等于9。 这样我们能不能找到一种简便的算法呢?也就是把两位数的乘法变成一位数的乘法呢? 我们先把上面这些数变一变。 18 = 1 × 10 + 8;27 = 2 × 10 + 7;36 = 3 × 10 + 6; 45 = 4 × 10 + 5;54 = 5 × 10 + 4;63 = 6 × 10 + 3; 72 = 7 × 10 + 2;81 = 8 × 10 + 1; 我们再把上面的数变一变好吗? 1 × 10 + 8 = 1 × 9 + 1+8 = 1 × 9 + 9 = 1 × 9 + 9 = 2 × 9 当然如果知道口诀你们可以直接把18 = 2 × 9 这里主要是为了让小朋友学会把一个数拆来拆去的方法。 同样的方法你们可以拆出下面的数,也可以背口诀,你们自己回去练习吧。 27 = 3 × 9 ; 36 = 4 × 9 ;45 = 5 × 9 54 = 6 × 9 ; 63 = 7 × 9 ;72 = 8 × 9 81 = 9 × 9 为了找到计算上面问题的方法,我们把上面的式子再变一次。 18 = 2×(10-1);27 = 3×(10-1);36 = 4×(10-1) 45 = 5×(10-1);54 = 6×(10-1);63 = 7×(10-1) 72 = 8×(10-1);81 = 9×(10-1) 现在我们来算上面的问题: 18 × 12 = 2×(10-1)× 12 = 2 ×(12 ×10 – 12) = 2 ×(120- 12) 括号里的加法小朋友们应该会了吧,那是一年级就会了的。 120 – 12 = 108; 这样就有了 18 × 12 = 2 × 108 = 216 是不是把一个两位数的乘法变成了一位数的乘法? 而且可以通过口算就得出结果?小朋友们可以自己试一试吗? 我用这种方法教威威算乘法,他只需要我算这一个,后边的题目就自己会算了。 上面我们的计算好象很麻烦,其实现在总结一下就简单了。 看下一个题目: 27 × 12 = 3×(10-1)× 12 = 3 ×(120- 12) = 3 × 108 = 324

36 × 12 = 4×(10-1)× 12 = 4 ×(120- 12) = 4 × 108 = 432 小朋友发现什么规律没有?下面的题目好象不用算了,都是把前面的数加1再乘108 45 × 12 = 5 × 108 = 540 54 × 12 = 6 × 108 = 648 63 × 12 = 7 × 108 = 756 72 × 12 = 8 × 108 = 864 81 × 12 = 9 × 108 = 972 我们再看看上面的计算结果,小朋友发现什么了吗? 我们把一个两位数乘法变成了一位数的乘法。其中一个乘数的个位和十位的和等于9,这样变化以后的数中一位数的那个乘数,都是正好比前面的乘数大1。 而后面的一个两位数也有一个特点,就是一个连续数(12),1和2是连续的。 能不能找到一种更简便的计算方法呢? 为了找到一种更简便的算法。我在这里给小朋友引入一个新的名词——补数。 什么是补数呢?因为这个名词很简单,所以就算是幼儿园的小朋友也很快会明白的。 1 + 9 = 10;2 + 8 = 10;3 + 7 = 10;4 + 6 = 10;5 + 5 = 10; 6 + 4 = 10;7 + 3 = 10;8 + 2 = 10;9 + 1 = 10; 从上面的几个加法可见,如果两个数的和等于10,那么这两个数就互为补数。 也就是说1和9为补数,2和8为补数,3和7为补数,4和6为补数,5的补数还是5就不用记了,只要记4个就行了。 现在我们再看看上面的计算结果: 拿一个 63 × 12 = 7 × 108 = 756 举例吧 结果的最前面一个数是7(不用管它是什么位),是不是正好等于第一个乘数(63)中前面的数加1? 6 + 1 = 7 结果的后两位怎么算出来的呢?如果拿这个7去乘后面那个乘数(12)的最后一位的补数(8)会是什么? 7 × 8 = 56 呵呵,我们现在不用再分解了,只要把第一个乘数(63)中前面的数加1就是结果的最前面的数,再把这个数乘以后面那个乘数(12)的最后一位的补数(8)就得到结果的后两位。 这样行吗?如果行的话,那可真是太快了,真的是速算了。 试一试其他的题: 18 × 12 = 第一个乘数(18)的前面的数加1:1 + 1 =2 ——结果最前面的数 拿2去乘第二个乘数(12)的后面的数(2)的补数(8):2×8=16 结果就是 216。看一看上面对吗? 27 × 12 = 结果最前面的数——2 + 1 =3 结果最后面的数——3 ×8 = 24 结果 324 36 × 12 = 结果最前面的数——3 + 1 =4 结果最后面的数——4 ×8 = 32 结果 432 45 × 12 = 结果最前面的数——4 + 1 =5 结果最后面的数——5 ×8 = 40 结果 540 54 × 12 = 结果最前面的数——5 + 1 =6 结果最后面的数——6 ×8 = 48 结果 648 63 × 12 = 结果最前面的数——6 + 1 =7 结果最后面的数——7 ×8 = 56 结果 756 72 × 12 = 结果最前面的数——7 + 1 =8 结果最后面的数——8 ×8 = 64 结果 864 81 × 12 = 结果最前面的数——8 + 1 =9 结果最后面的数——9 ×8 = 72 结果 972 计算结果是不是和上面的方法一样? 小朋友从结果中还能看出什么? 是不是计算结果的三位数的和还是等于9或者是9的倍数? 自己算一下看是不是? 看我这篇文章的小朋友,下面我给你们出几个题,看你们掌握了方法没有。 54 × 34 = ? 18 × 78 = ? 36 × 56 = ? 72 × 89 = ? 45 × 67 = ? 27 × 45 = ? 81 × 23 = ? 通过这个题目,我主要是为了让小朋友能从一个题目中举一反三,举一反十 从中发现规律性的东西。这样不需要做太多的题目就可以快速掌握数学的加、减、乘、除运算。 上面的题目如果再扩展一下,把后面的连续数扩大到多位数。 如:123、234、345、2345、34567、123456、23456789等等 看一看有没有什么运算规律,或许你们都能找出快速的计算方法。 如果能的话,象 63 × 2345678 = 这样的题目你们用口算就能快速计算出结果来。 我相信只要不断总结科学的方法,个个小孩都是天才!

—————————————————————————————————

——————- 我是万能的分割线 —————————–

—————————————————————————————————

用上面的方法做好最后的几题后,大家可以验证一下答案的对错,是不是错了呢?

所以说上面的规则需要再概括一些,于是可以得到:

我们以AB*CD两位数乘法为例,其中AB为9的倍数(9,18,72等),CD是连续数(如12,34,89等),以(A+1)*C的值作为答案的开头,并也(A+1)*(10-D)作为结尾,注意如果位数不够的话要做中间填一个0.

例:54 × 34 = ?

A=5, B=4, C=3,D=4

==》(A+1)*C = (5+1)*3 = 18, (A+1)*(10-D) = (5+1)*(10-4) = 36, 于是答案为 1836

此算法当然也使用上面作者介绍的几个题目(27 × 12 等)

本人观点:与其交孩子这个解题技巧,不然拿这个机会让他意识到善于观察、发现、总结、归纳的重要性,该习惯的养成决定有助于孩子的发展 O(∩_∩)O~

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141041.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
数学速算法
2 1,333 views A+ 所属分类:学习 A、乘法速算 [B]一、十位数是1的两位数相乘[/B] 乘数的个位与被乘数相加,得数为前积,乘数的个位与被乘数的个位相乘,得数为后积,满十前一。 例:15×17 15 + 7 = 22 5 × 7 = 35 --------------- 255 即15×17 = 255 解释: 15×17 =15 ×(10 + 7) =15 × 10 + 15 × 7 =150 + (10 + 5)× 7 =150 + 70 + 5
用户1127987
2018/06/05
7390
数学十大速算技巧
  学习数学离不开计算,学生的计算能力是最基本的数学能力。那么你知道学好数学速算的方法有哪些吗?下面学习啦小编给你分享数学十大速算技巧,欢迎阅读。
全栈程序员站长
2022/09/02
2.2K0
优雅的99乘法表以及format使用
You are never too old to set another goal or to dream a new dream.
小闫同学啊
2019/07/18
9150
优雅的99乘法表以及format使用
Python-100例(7-8) 复制列表 & 打印乘法口诀
这次是分享 Python-100 例的第 7-8 题,分别是复制列表和打印乘法口诀,这两道题目都比较简单。
kbsc13
2019/08/16
7850
Java打印带边框的乘法口诀表_Java 面试 – 打印九九乘法口诀表
在Java面试过程中, 面试者经常会被要求手写代码或上机操作。一般来说,手写代码或上机操作,主要还是考察面试者的分析问题和解决问题的能力。打印九九乘法口诀无疑是非常基础的,那么如何实现呢?首先我们先来分析一下九九乘法口诀表内在的规律,然后再根据分析结果,选择适合的解决方案。
全栈程序员站长
2022/09/14
1K0
java开发_数字转换汉语中人民币的大写_完整版
======================================================
Hongten
2018/09/13
1.7K0
java开发_数字转换汉语中人民币的大写_完整版
算法修炼之练气篇——练气十九层
已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
命运之光
2024/03/20
900
Java案例:实现九九乘法表「建议收藏」
九九乘法表就是咱们小学时期最开始接触乘法运算时,数字10以内,以及结果100以内的乘法口诀。
全栈程序员站长
2022/09/14
1.9K0
Java案例:实现九九乘法表「建议收藏」
C语言 经典编程100题
文章主要介绍了如何通过程序计算字符串中子串出现的次数。首先介绍了字符串中子串的定义,即子串是字符串中连续的字符序列。然后介绍了使用动态规划算法来计算字符串中子串出现的次数。最后介绍了在主函数中如何实现从键盘输入数据并将数据和计算结果存储到磁盘文件中。
张果
2018/01/04
12.4K0
打印 九九乘法表 九九口诀表
叶茂林
2023/07/28
3720
打印 九九乘法表 九九口诀表
【C语言】题集 of ③
 🚀write in front🚀 🔎大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 🏅2021年度博客之星物联网与嵌入式开发TOP5,2021博客之星Top100→周榜31→总榜2629🏅 🆔本文由 謓泽 原创 CSDN首发🐒 如需转载还请通知⚠ 📝个人主页:打打酱油desu_泽En_CSDN博客🎓 📢系列专栏:【C】系列_打打酱油desu-CSDN博客📣 ✉️我们并非登上我们所选择的舞台,演出并非我们所选择的剧本📩  目录  🚀write in front
謓泽
2022/12/12
9230
python打印99乘法表
相信99乘法表大家都很熟悉,下面介绍如何使用Python来打印99乘法表。为了实现这个需求,需要掌握两个知识点:
皮大大
2023/08/23
2800
JS实现99乘法表
// 99乘法表 /** * 正三角 1 * 1 = 1 1 * 2 = 2 2 * 2 = 4 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 1 * 6 = 6 2 * 6 =
蓓蕾心晴
2022/06/08
1.4K0
R语言入门 Chapter01 | 向量
这篇文章讲述的是R语言中关于向量相关知识。希望这篇R语言文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言
不温卜火
2020/10/28
1.2K0
10秒钟脱口而出十位数相同两位数的乘法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/135750.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/05
4180
java代码编写九九乘法表
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/159507.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/17
4200
【STM32F407的DSP教程】第11章 基础函数-绝对值,求和,乘法和点乘
完整版教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=94547 第11章       基础函数-绝对值,求和,乘法和点乘 本期教程开
Simon223
2020/04/17
2.3K0
【STM32F407的DSP教程】第11章   基础函数-绝对值,求和,乘法和点乘
Python 实现大整数乘法算法
我们平时接触的长乘法,按位相乘,是一种时间复杂度为 O(n ^ 2) 的算法。今天,我们来介绍一种时间复杂度为 O (n ^ log 3) 的大整数乘法(log 表示以 2 为底的对数)。
用户2870857
2019/12/23
2K0
Python一行代码给儿子制作九九乘法表
一行代码实现九九乘法表 print('\n'.join(' '.join(['%sX%s=%s'%(j,i,i*j) for j in range(1,i+1)]) for i in range(1,10))) 1X1=1 1X2=2 2X2=4 1X3=3 2X3=6 3X3=9 1X4=4 2X4=8 3X4=12 4X4=16 1X5=5 2X5=10 3X5=15 4X5=20 5X5=25 1X6=6 2X6=12 3X6=18 4X6=24 5X6=30 6X6=36 1X7=7 2X7=
王大力测试进阶之路
2019/10/25
8400
Python一行代码给儿子制作九九乘法表
【模板小程序】 十进制大数相乘(正数、负数、0均可),包含合法性检查
1 /* 2 本程序说明: 3 4 大数乘法(模拟乘法操作,取其中一个字符串,每一位分别相乘,最后移位加起来) 5 6 时间复杂度:O(k1*k2),k1和k2分别为两字符串长度 7 空间复杂度:O(1) 8 9 */ 10 11 #include <iostream> 12 #include <string> 13 #include <algorithm> 14 #include <vector> 15 16 using namespace st
xiaoxi666
2018/10/29
8350
相关推荐
数学速算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档