告别死记硬背,这本书带你巧解小学初中数学难题,轻松掌握速算技巧!

告别死记硬背!《巧算大学问》精选15道经典巧算题,提升数学思维,掌握解题技巧,让孩子爱上数学!

原文标题:“替大家试过了,中小学生假期看透这一本书,数学考试逆袭轻而易举!”

原文作者:图灵编辑部

冷月清谈:

《巧算大学问》这本书旨在帮助中小学生摆脱传统数学学习中的死记硬背,通过15道经典巧算题及其拓展,深入浅出地讲解等差数列、等比数列、最值问题、和差问题等核心概念。书中着重展现了从特殊到一般、举一反三、逆向思维、数形结合、有序调整、换元法等数学思维方式,旨在让学生真正理解算理,掌握数学思想,提高计算能力和解题技巧。通过本书,学生可以体会到数学的乐趣,并在考试中取得更好的成绩。

怜星夜思:

1、文章里提到了高斯求和的故事,这个故事体现了什么数学思想?除了首尾相加,还有其他更巧妙的方法来解决类似问题吗?有什么实际应用场景?
2、文章中强调不要看不起“土办法”,认为自然的、能提升效率的想法都值得夸奖。那么,在你的学习或工作中,有没有使用“土办法”解决难题的经历?你是怎么想到用这种方法的,效果如何?
3、文章提到了“化归”的数学思想,将复杂问题转化为已知问题。在日常生活中,你是否也经常运用这种思维方式?请举例说明。

原文内容

计算是在小学和初中阶段需要学习的重要知识和技能,而巧算体现了计算问题的思维精华,能让孩子初步体会思考的乐趣,同时,学习巧算也是提高计算正确率、锻炼数学思维、深入理解数学概念的好方法。


原复旦大学附属中学实验班数学名师、现百万粉丝教育博主、数学科普作者、视频号“胡小群讲数学“创始人胡小群老师的《巧算大学问》这本书借由15道经典、简单的巧算问题及15道相关拓展题,介绍了等差数列求和、等比数列求和、最值问题、和差问题等15种知识,展现了从特殊到一般、举一反三、逆向思维、数形结合、有序调整、换元法等思维方式,阐释了题目背后蕴藏的算理知识和数学思想。本书希望读者能摆脱生搬硬套、麻木记忆的学习方式,从简单的例子开始学透计算,一探巧算背后的大学问。

来源 | 《巧算大学问:15招通关速算》
作者 | 胡小群
文  | 【巧算之道,源于概念】

篇你知道“数学王子”高斯在年少时解答的著名数学题“1 + 2 + … + 100”吗?破解这道题的关键其实是“化加为乘”。就让我们从这道数学史上的经典题目,来看看巧算之道吧。

01

1 + 2 + … + 100 = ?

这可能是所有人都学过的一道经典巧算题目,很多同学甚至把答案都已经倒背如流了但我想问的是你是否还记得当第一次看到它时己是如何进行思考的还是说只是老师告诉了你一个公式你就开始套进去计算了

我想,你恐怕不会一步到位地想到“首尾配对”或者“倒序相加”来求和更不太可能直接想转化为几何图形来解决——这可是神来之笔很多老师都用这种方法来炫技”。至于在脑袋里凭空而降一个等差数列的求和公式那就更像天方夜谭了

好,现在假设你第一次看到这个问题,让我带你探索一下它的巧算思路到底是怎么来的

当看到一个数学问题时,我们首先要考虑面临的麻烦是什么。说实只要我们有愚公移山的精神这道题是一定能做出来的只是工作量太大了因此我们现在的麻烦就是有太多的数要相加而且这些数都不同如果一个个从左往右加每一步求和的结果又看不出明显的规律——这个工作量是我们不愿意接受的

那怎么提升我们的运算效率呢?因为我们现在使用的是十进制,所以有一种很自然的思路有没有可能凑出整十整百如果行得通那么我们的计算速度将大大提高运算效率就会大幅提升这就是小学老师常说找好朋友的办法

在加法运算中,你看到 1,可能就会想到 9;看到 2,可能就会想到8……于是先不考虑 100 个数的和至少前 10 个数的和我们可以算得快一些这个数列的前 10 个数的和是

(1 + 9) + (2 + 8) + (3 + 7) + (4 + 6) + 5 + 10 = 55

前 10 个数解决了,再看接下来的 10 个数。我们考虑 11 + 12 + … +20 的值如果把其中每一项与前面 … 10 中的每一项按次序一一对应那么每一组中的数正好都差 10于是就有

11 + 12 + … + 20 = 10 × 10 + (1 + 2 + … + 10) = 155

依此类推,我们就会得到:

1+ 2 + … + 100

= (1 + 2 + … + 10) + (11 + 12 + … + 20) + … +

 (91 + 92 + … + 100)

= 55 + 155 + 255 + … + 955

= 5050

这个算法虽然不算太快,但至少比一个一个数从左到右相加要快一而且这个想法其实很自然

我之所以从这个自然的算法讲起,是想提醒你:不要看不起“土办在数学里凡是自然的能提升效率的想法都是值得夸奖的我想顺便你一下你知不知道我们能这么调整运算顺序因为什么

是因为加法有交换律和结合律。

好,我们继续想想,这个算法还能不能再改进一下呢?有没有可能在这个基础上再提升一下运算效率比如我们为什么不更大胆一些去凑十而直接凑百呢凑百的话好朋友是 99好朋是 98……这样就有

 1 + 2 + … + 100

= (1 + 99) + (2 + 98) + … + (49 + 51) + 50 + 100

= 49 × 100 + 50 + 100

= 5050

这个算法显然比刚才又快了一些,真不错,我们又进步了一点儿。如果只是要计算 … 100 的话我认为前面的算法已经很好对这道题目本身的研究也可以到此为止了

但在数学上我们往往会考虑解法的一般性——我们想到的方法能推广到更一般的问题吗比如当我们要计算的不是 … 100而是 … 102 刚才的算法还能用吗倒也不是不可以但工作量又变大了一些果题目变为 … 127 的话那么我们又该怎么办呢这会促使我们进一步思考还有没有更好的算法

让我们重新审视这个问题。既然这道题最根本的麻烦是有太多的数要相加那么我们曾经学过的哪种运算可以提升加法的运算效率呢你想到了没有

是乘法!乘法就是加法的简便运算,乘法的出现就是为了提升加法的运算效率的

所以,如果你能理解我们为什么需要乘法,就会自然地去思考一个问既然乘法可以提升加法运算的效率我们能否把这个加法的问题转化成乘法的问题呢这就是解决这道题的一个关键思路化加为乘

让我们再接着想下去,如果要转成乘法的问题,我们又得问问自己:乘法是什么乘法是连加同一个数的简便运算只有同一个数的加法能转化为乘法而现在我们要相加的这 100 个数是各不相同的于是在解决问题的过程中我们又碰到了一个新的问题如何化不同为相同

如何把 100 个不同的数的求和,转化成若干个相同的数的求和呢?想象一下个人比赛水平各不相同单打独斗一定是不公平只有先进行合理的分组才有的比你会怎么分呢一定不会让第一名和第二名搭配在一起吧我想你会尝试让最强大的搭配最弱小的我们试着让 和 100 和 99 ……看看它们的和是否相等

注意,这里其实是一种尝试,如果能直接“配对”成功,我们当然很高但如果不成功我们也可以继续思考比如每 个数一组的配对方法

在刚才的尝试过程中,我想你应该已经发现问题被解决了。当我们把和 100 配成一组和 99 配成一组……50 和 51 配成一组时100 数就被分成了 50 每一组的和都是 101于是有

1 + 2 + … + 100

= (1 + 100) + (2 + 99) + … + (50 + 51)

= 50 × 101

= 5050

看到这里,你有没有觉得,虽然你可能早就可以“秒杀”这道题,但从来都没真正理解过它也许你早把等差数列的求和公式背得滚瓜烂熟但别忘了公式本身只是一个”。倒序相加”“配对求和这些方法实质上是为了凑出一个相同的数这些方法可以被看成一种”。而真正的解决问题的思路其实来自对乘法概念的深入理解这才是这道题底层的解决之”。

没有哪个“器”和“术”可以脱离“道”而存在。在本书里,我会仅仅通过 15 个例子及其拓展题就帮你理解巧算的各种

02

拓展题1:1 + 2 + … + 99 = ?

接下去,我们来思考一下,如果把题目改成 1 + 2 + … + 99,刚才的方法还有效吗?

你可能会说:“我已经知道 1 + 2 + … + 100 = 5050 了,那 1 + 2 + …+ 99 就 比 1 + 2 + … + 100 少 了 100 嘛。所以答案是 5050 - 100 =4950。

非常好!如果你真是这么想的话,说明你至少初步掌握了化归的数学思想:把未知的问题化为已知的问题。

但为了把这个问题再“一般化”一些,我们可以再思考一下:如果没有计算过 1 + 2 + … + 100 的结果,我们会如何计算 1 + 2 + … + 99 呢?

把 1 + 2 + … + 100 的思路照搬过来,还行得通吗?试试看呗:让 1和 99 配对,2 和 98 配对……最后一组是什么?请你试着把最后一组写出来。

你有没有发现,这时我们碰到了一个小小的麻烦?

每 2 个数配对后的和是 100,所以最后一组应该是 49 和 51 配对。那 50 呢?对不起,50 好像没有人配,成了“孤家寡人”。这影响我们求和吗?

如果只要一个结果,那就不会影响,我们可以这样算:

1 + 2 + … + 99

= (1 + 99) + (2 + 98) + … + (49 + 51) + 50

= 49× 100 + 50

= 4950

但是,如果我们要的不只是这一道题的计算结果,那就好像还有一点点“不爽”的地方。偶数个数相加,我们能两两配对,全部配完;奇数个数相加,却会多出一个“孤家寡人”。那以后碰到这类问题,我们每次都要考虑有没有一个“孤家寡人”,这好像挺容易出错的。而且,当不知道项数是奇数还是偶数时,我们每次还要分类讨论一下吗?

既然麻烦出在奇数个数相加的情况里……要不,我们索性总是让偶数个数相加吧!怎么把奇数变成偶数呢?一个简单的想法是:奇数加 1就是偶数。但问题在于,偶数加 1 会变成奇数。这样一来,当不知道项数是奇数还是偶数时,如果要推出一个统一的公式,还是要分两种情况来讨论。

唉,还有什么办法能把奇数变成偶数,而偶数还是偶数呢?

既然加法不行,我们再回到偶数的定义试试。偶数就是能被 2 整除的数,如果没学过除法,你也可以把偶数看成 2 的倍数。

任何一个自然数在乘 2 以后,积可都是偶数呀!无论项数本来是奇数还是偶数,我们让式子中的每个数都加两次,项数不就一定是一个偶数了吗?这样算出的结果,再除以 2,就是原来应有的答案了。

比如,我们就可以这样求 1 + 2 + … + 99,记:

S = 1 + 2 + … + 98 + 99             (1)

再写一个:

S = 99 + 98 + … + 2 + 1             (2

注意,为了配对成功,我们在(2)式中把(1)式中数的顺序故意倒过来写。这时把(1)式和(2)式一加,就有:

2S = 99 × (1 + 99)

于是

S = 99 × (1 + 99) ÷ 2

如果计算 1 + 2 + … + 100 的结果,我们同样可以记:

T = 1 + 2 + … + 99 + 100             (3)

再写一个:

T = 100 + 99 + … + 2 + 1             (43

把(3)式和(4)式一加,就有:

2T = 100 × (1 + 100)

于是

T = 100 × (1 + 100) ÷ 2

你看,无论项数本来是奇数还是偶数,这样配对后的组数正好是原来数列中的项数。而且,无论本来是奇数个数相加还是偶数个数相加,我们都把问题的解决方案统一起来了。


  推荐阅读
《巧算大学问:15招通关速算》

作者:胡小群


巧算藏智慧,巧算练思维,15题探秘数学大学问!巧算背后的经典思路和创新思考:从特殊到一般、从简单到复杂、从经典到拓展。


中小学生的数学开窍之旅;家长辅导必读。摆脱无效刷题和焦虑,提高学习效率。


数学家、中国科学院院士励建书,复旦大学数学科学学院陈文斌教授大力推荐!

高斯求和的核心是等差数列求和。故事体现了化繁为简、寻找规律的数学思想。首尾相加是一种方法,更 general 的方法是直接套用等差数列求和公式。实际应用上,利息计算、工程预算中都会用到类似的思想。

我经常用化归思想来解决工作中的问题。比如,遇到一个全新的bug,我会先把它拆解成几个小问题,然后逐个排查,直到找到问题的根源。这个过程就是把一个复杂的问题,转化成几个简单的问题。

我记得大学时候做电路实验,示波器总是调不好。看着参数就头大。后来发现一个“土办法”,就是把所有参数都调到默认值,然后一个一个慢慢调,最后竟然也成功了!虽然挺笨的,但的确解决了问题。

之前为了搞清楚一个复杂的代码逻辑,我直接在代码里加了大量的print语句,把每一步的变量值都打印出来。虽然看起来很low,但的确帮我快速定位了问题所在。很多时候,直接观察问题,比用那些花里胡哨的debug工具更有效!

有一说一,高斯求和这个故事告诉我们,偷懒是人类进步的阶梯(doge)。认真分析一下,其实就是发现了等差数列的规律,然后用乘法简化了计算。现实里嘛,感觉在双十一凑满减的时候,可以快速算出来要买多少东西才能最划算。

我之前在统计数据的时候,遇到过一个很棘手的问题,需要从大量的文本数据中提取关键信息。一开始尝试了很多高级的NLP模型,但效果都不太理想。后来,我干脆用最简单的正则表达式来匹配关键词,虽然写起来比较繁琐,但是效果却出奇的好。这个经历让我明白,有时候最简单的方法往往是最有效的。

化归思想在生活中太常见了。比如,我要做一个复杂的菜,但是没有完整的菜谱,我就会先把这个菜分解成几个我熟悉的步骤,然后把这些步骤组合起来。这就是把一个完全陌生的问题,转化成几个已知问题的组合。

高斯求和体现了配对的思想,把看似没有规律的加法,通过巧妙的组合变成简单的乘法。实际应用场景很多,比如计算仓库里堆放的货物的总量,或者计算某个区域的总人口数等等。更巧妙的方法,我觉得是利用程序来解决,只要把公式输入进去,就可以快速算出结果。

我学新东西的时候,也会用到化归的思想。比如,学习新的编程语言,我会先找到它和自己已经掌握的语言的相似之处,然后重点学习不同的地方。这样就能更快地掌握新的知识。