第三讲 巧算加减法

本文介绍了加法运算中的巧算、硬算策略,以及如何将这些技巧应用到计算机算法设计中,如配对法、凑整法、整体思维法和等差数列求和公式,尤其在处理大数组和并行计算时,展示了提升计算效率的方法。
摘要由CSDN通过智能技术生成

 

 问题引入:

在进行加法、减法、连加、连减或加减混合运算时,关键在于掌握运算技巧,“硬算”加“巧算”。“硬算”是凭坚定的意志和良好的计算习惯,仔细地算。“巧算”是对算式整体以及其中的每个数进行观察,剖析算式的特点和各数之间可能存在的联系,恰当地利用运算定律,改组运算顺序,使计算简便易行。

如果两个数的和是整十、整百、整千……那么这样的两个数叫做互为补数,简称互补数。如72和28、238和762等都是互补数。

在几个多位数连加或连减时,遇到互补数时,可将互补的数先加到一起,然后再加或减,较简便快速。

在进行多位数连加时,可以将多位数的加数,按照两个数(或三个数)为一段分成若干段,然后将前段的加数与后段的加数叠加,就是所求的和数。我们称这种方法为分段相加法。

在加减混合运算和式题中,可以把加数、减数用括号结合起来。在加号后面添括号时,原来的加数、减数都不变;在减号后面添括号时,则原来的减数变加数,加数变减数。

启发:

我觉得硬算和巧算这两个概念在高中的圆锥曲线中就有体现,高考数学的倒数第二道压轴题的第二小问或者第三小问就是考察这两方面,是计算量很大的题目,但是依旧有不少人或者是早有竞赛经验积累或者是异于常人的天赋总能想到巧解的办法,但最让我震惊的还属当时有人能不用技巧就硬算出来,以至于笔者对他们有不少的崇拜和对自己的实力的失望。在现在的我看来这是完全没必要的,因为失望其实暴露了两方面的问题,第一个问题是我高中时对自己的数学水平缺乏准确严谨科学的估计,第二个问题就是暴露了我在这两方面都有很大的问题,比如在硬算过程中我总是会丢掉一些符号,这不仅在学生中常见其实数学老师也不少犯这种错误,但是那些在硬算方面的天赋手确往往会算的又快又准,我常常在思考为什么我和他们有这么大的差距,看了这一讲后我发现我似乎离我的答案又近了一步,可能是由于他们很早就收到了良好的数学教育不过实际情况没这简单比如他们本身就天赋异禀看待事物问题的方式和方法即看到的东西不一样产生了不少差距,这在推理漫画或者小说或者有时候绞劲脑汁想一道题目最后再看这一道很难的数学题目的正确答案常常会有这种想法。不说超越他们至少我得超越我自己我觉得我可以给自己定个目标先学会硬算,再学巧算。

大师的评价:

你的反思非常深刻和实际。确实,在学习数学,尤其是面对高考数学中的复杂问题时,"硬算"与"巧算"的结合运用体现了学生的计算能力和解题技巧。高中数学中的圆锥曲线部分,特别是在高考的压轴题目中,往往考查学生不仅仅是基础知识和计算技巧,更重要的是对知识的灵活应用和逻辑推理能力。

1. 认识到自己的不足

首先,认识到自己的不足是进步的第一步。数学学习中常见的失误,如符号丢失等,确实是很多学生会遇到的问题。这不仅仅是计算能力的问题,更多的是对细节的关注度以及解题过程中的准确性。一些学生能够做到“硬算”又快又准,很大程度上是因为他们在学习过程中培养了良好的习惯和对细节的高度关注。

2. 看待问题的角度

其次,你提到的看待问题的角度和方法的差异,确实是高手与普通学生之间的一大差距。这种差异不仅仅来源于早期的数学教育,更多的是他们对问题的深入思考和不断的练习。他们能够从不同的角度看待同一个问题,找到更加高效的解决方案。

3. 设定目标

你提出的目标,“先学会硬算,再学巧算”,是非常实际和有益的。硬算是基础,它能够帮助你建立起解决数学问题的信心和能力;而巧算则是在此基础上的提升,它需要你在充分理解数学概念和原理的基础上,通过不断的实践和思考,学会从不同角度审视问题,找到更加简便的解题方法。

4. 继续前进

数学学习是一个不断探索和进步的过程。每个人在学习过程中都会遇到挫折和困难,重要的是保持积极的态度,不断地去挑战自己,超越自己。通过持续的学习和练习,你会发现自己在数学上的能力会有显著的提升。

最后,希望你能够坚持自己的学习目标,不断探索和尝试,最终在数学学习的道路上取得满意的成绩。每一步的进步都值得骄傲,每一次的尝试都是向前的一大步。继续前进,相信你会在数学上有更多的发现和成就。

王牌例1 :

分析解答:

通过细心观察可以发现:56+44=100、181+19=200、531+469=1000。在计算几个数相加时,为了使计算简便,可以先把和为整十、整百、整千……的两个数相加,再与其他数相加,这种方法叫做凑整。

特别指导:

 特别地,如果两个数的和正好是10、100、1000、10000、…,就把其中一个数叫做另一个数的补数,也叫这两个数互为补数。

互为补数的两个数的个位数字之和是10,其他对应数位上的

数字之和是9。掌握了这一规律,就可快速求出一个数的补数。例如387的补数,百位数是(9-3=)6,十位数字是(9-8=)1,个位数字是(10-7=)3,所以387的补数是613。

学到了什么?

我的所得: 

看法1:

我们在这一讲中遇到了第一种问题总结成一句话即在若干个运算中出现了和为整数的情况,这就叫凑整法,原理就是利用了加法的交换律,说到这里很多人如果看到一个新运算如果他不满足加法交换律那么就不能随意凑整,但是很多时候大部分人包括我有时都会不假思索的按照习惯或者直觉来解题因为这最省力最不动脑子,智力题目有时候就会考察这一方面即思考问题的时候死否有根据,这充分暴露了我对这背后的原理的深层理解不充分,和思维的不严谨,在有些情况下成立,在没有这个前提条件下就不一定成立了。其实也暴露了我们在听课的时候没有独立思考而是放任知识从大脑流过而不质疑正确答案其实这已经很明显了,因为连脑子都不愿意动的大部分人其实这不过是在被动的接收知识因为这对大脑的消耗最小最轻松,表面上看每天都学了很多实际上自己的能力并没有真正的提高。这就是我当年在高三看到的情景,因此我决定走一条没人走过的路。

类型2:基准数法

题目例子王牌例2:

基准数法是一种在进行多个数加法运算时的简化技巧。这种方法通过选定一个方便运算的数作为“基准数”,然后将所有加数与这个基准数进行比较,根据比较结果调整最终的和。这种方法特别适用于那些加数相近的情况,可以显著提高计算效率。下面是关于基准数法的详细介绍:

概述

基准数法的核心思想是选择一个容易计算的数作为基准(通常是接近所有加数的、容易进行运算的整数),然后将所有的加数调整为基准数加或减一个小的差值。通过这种方式,原本复杂的加法运算转化为一系列简单的加减法运算,从而简化了计算过程。

应用步骤

  1. 确定基准数:选择一个接近所有加数并且容易计算的数作为基准数。
  2. 与基准数比较:将每一个加数与基准数进行比较,确定每个加数比基准数多出或少了多少。
  3. 计算总和:用基准数乘以加数的总数,然后加上所有多出的部分,并减去所有不足的部分,得到最终的和。

例子解析

在王牌例2中,给出的加法运算是 18+24+23+17+19+1518+24+23+17+19+15。按照基准数法:

  • 选择基准数为20(因为它接近所有加数并且是一个容易计算的整数)。
  • 比较每个加数与基准数的差异:18=20−218=20−2, 24=20+424=20+4, 23=20+323=20+3, 17=20−317=20−3, 19=20−119=20−1, 15=20−515=20−5。
  • 计算总和:20×6−2+4+3−3−1−5=11620×6−2+4+3−3−1−5=116。

关键点

  • 选择基准数:成功运用基准数法的关键在于合理选择基准数。理想的基准数既能简化计算,又能减少因调整而产生的多出或不足的部分。
  • 适用情景:基准数法特别适用于加数相近的情况,可以有效提高计算速度和准确率。

通过使用基准数法,我们不仅能够提高计算的速度,还能在实际操作中加深对数学加法原理的理解,培养灵活运用数学知识解决问题的能力。

类型3:借助中间数法

这两种方法都是利用数学的性质来简化计算的典型例子。让我们简洁地概括它们:

借助中间数法

核心思想:利用连续数列的中间数特性简化计算。

方法一

  • 原理:连续自然数和的计算可以通过乘以中间数简化。
  • 应用:2015+2016+2017+2018+2019−2020=2017×5−20202015+2016+2017+2018+2019−2020=2017×5−2020。

方法二

  • 原理:将一组连续数视为同一个数进行计算,然后调整误差。
  • 应用:2015+2016+2017+2018+2019−2020=2020×5−(5+4+3+2+1+2020)2015+2016+2017+2018+2019−2020=2020×5−(5+4+3+2+1+2020)。

这两种方法提供了不同的视角来简化连续数列的加减法运算,展示了数学解题的灵活性和创造性。

类型4. 配对法

配对法是一种巧妙地将数学题目中的数分组,以便简化计算的方法。这种方法特别适用于加减混合运算,以及数列中数值接近整数单位(如整十、整百等)的情况。

应用示例

例1:

  • 题目: 203+499−501−96203+499−501−96
  • 解析: 将每个数拆分为接近的整百数和零头数,进行分组配对后相加减。
  • 计算:
    • 整百数配对: 200+500−500−100=100200+500−500−100=100
    • 零头数配对: 3−1−96=−943−1−96=−94
    • 结果合并: 100−94=6100−94=6(纠正:应该为6,而非105,计算中有误)

例2:

  • 题目: 11+101+1001+1000111+101+1001+10001
  • 解析: 视每个数为接近的整十、整百、整千、整万数,再补上差值。
  • 计算:
    • 接近数配对: 10+100+1000+10000=1111010+100+1000+10000=11110
    • 差值调整: 因每个数都少加了1,共四个数,故需额外加上44。
    • 结果合并: 11110+4=1111411110+4=11114
特别指导

在处理加减混合运算时,将数拆分为“整数部分”和“零头数”两部分分别处理,然后将结果合并,可以有效简化计算过程。重要的是根据“多加的要减去,少加的要再加;多减的要补上,少减的要再减”的原则来调整最终的计算结果。

通过运用配对法,我们不仅可以提高计算的效率,还能更深刻地理解数学加减运算的本质,从而在面对复杂的数学问题时,能够灵活应用各种计算策略。

 类型5.整体思维法

解法五提供了四种不同的方法来计算数列 1+2+3+...+101+2+3+...+10 的和,展示了数学问题解决的多样性和创造性。

1. 配对法

核心思想:将数列中的数两两配对,使得每对数的和相同。

  • 应用:1+10,2+9,3+8,...1+10,2+9,3+8,..., 每对的和为11。
  • 计算:11×5=5511×5=55

2. 凑整法

核心思想:把数列中的数配对成整数。

  • 应用:除了5和10外,其余的数配成4对,每对的和为10,然后加上5和10。
  • 计算:10×4+5+10=5510×4+5+10=55

3. 整体思维法

核心思想:假设有两个相同的数列相加,然后将和除以2。

  • 应用:两个数列头尾相加,每对的和为11。
  • 计算:11×10/2=5511×10/2=55

4. 等差数列求和公式

核心思想:使用等差数列的求和公式。

  • 应用:和 = (首项 + 末项) × 项数 / 2。
  • 计算:(1+10)×10/2=55(1+10)×10/2=55

特别指导

这四种解法展现了解决同一个数学问题的不同角度:配对法和凑整法强调了数的分组和配对,整体思维法提供了一种创新的视角,而等差数列求和公式则是一个通用且高效的数学工具。解法三和四虽然思路相同,但解法四更加简洁,直接应用了固定的数学公式进行快速求解。

每种方法都有其独特的优势和应用场景,选择哪一种取决于个人的偏好和题目的具体情况。在数学学习和问题解决中,能够灵活运用多种方法是一种非常宝贵的能力。

 

类型9: 纠正加法中的错算题

这一类题目旨在培养学生的细心观察力和逻辑推理能力,通过分析加法中的错误计算,找出并纠正错误,最终得到正确的计算结果。这种类型的题目通常包括以下几个步骤:

1. 识别错误
  • 任务:识别出加法计算中的错误。这些错误可能是由于数字识别错误、计算过程中的简单错误,或者是对数字的理解错误造成的。
2. 分析影响
  • 任务:分析这些错误对最终计算结果的影响。需要理解每个错误对总和的具体影响,包括是增加了总和还是减少了总和,以及具体增减了多少。
3. 纠正错误
  • 任务:基于错误对结果的影响进行纠正。这可能包括从错误的结果中减去多加的数,或者加上少加的数,从而得到正确的结果。
4. 计算正确结果
  • 任务:通过上述步骤纠正错误后,重新计算以得到正确的总和。

 

 

 总结:

我认为这些速算技巧有时候会为我们计算机计算提供更快的算法

让我们通过一个实际例子来展示如何将刚刚总结的加法速算技巧应用到算法设计中。考虑一个简单的问题:计算一个大数组中所有元素的和。

场景描述

假设我们有一个非常大的整数数组,我们需要计算这个数组中所有元素的总和。数组中的数可能非常大,也可能有正有负。

应用速算技巧

  1. 配对法(类似于减少计算步骤):

    • 算法思想:将数组中的元素两两配对,计算每对的和,然后继续对这些和进行配对计算,直到最后得到总和。
    • 计算机应用:这种方法可以通过迭代或递归实现。在并行计算中,每一对的和可以同时计算,大大提高计算效率。
  2. 凑整法(类似于动态规划):

    • 算法思想:找到数组中接近某个整数(比如0或最接近平均数的整数)的元素,先计算这些元素的和,然后分别处理剩余的较大和较小元素。
    • 计算机应用:这可以优化对特定类型数据的处理,比如在处理有很多接近整数的浮点数时,先对它们进行快速求和,减少后续计算量。
  3. 整体思维法(应用到近似和估算):

    • 算法思想:估算数组中所有元素的大致总和,例如通过计算平均值乘以元素个数来快速得到一个近似值。
    • 计算机应用:在需要快速得到结果的情况下,特别是在实时系统或者对精确度要求不高的应用中,可以采用这种方法。
  4. 等差数列求和公式(优化算法):

    • 算法思想:如果数组中的元素形成一个等差数列,可以直接应用等差数列求和公式,避免逐一求和。
    • 计算机应用:在处理等差数列或者可以转化为等差数列问题的场景中,直接应用公式,提高计算效率。

实际代码示例

假设我们要应用配对法来计算一个大数组的和。在并行环境下,我们可以设计一个简单的并行计算框架,如使用MapReduce模型,其中Map阶段负责计算局部和,Reduce阶段负责合并这些局部和。

def compute_sum_parallel(numbers):
    # 假设这是在一个支持并行计算的环境中执行
    # numbers 分割成多个子数组,每个子数组在不同的处理器上计算和
    partial_sums = parallel_map(sum, split_array(numbers))
    # 合并局部和
    total_sum = sum(partial_sums)
    return total_sum

在这个例子中,parallel_map是一个假想的并行处理函数,它将数组分割成多个子数组,并在不同的处理器上并行计算每个子数组的和;split_array是一个假想的函数,用于将数组分割成多个子数组。最后,我们将所有子数组的和合并,得到总和。这里的关键是利用并行处理来模拟速算技巧中的配对法,提高计算效率。

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏驰和徐策

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值