图1
父:你现在学习到了等差数列求和,现在和你说一下。
女:啥?等差数列求和,没学呢!
父:你现在做的这个题目就是啊!
女:哦。
父:首先说一个数学概念:数列。数列就是一组数,排列在一起,比如“1、2、3……”,这个是什么?
女:这个我知道,是自然数。
父:对,这个就是自然数列。你能举个其他的例子吗?
女:嗯,我想想。比如:2、4、6、8……,这个是偶数。
父:很好,这个是偶数列。数列里面有一个个的数字,我们把它叫做“项”,然后就有相关的概念,第一项叫首项,最后一项叫做尾项。我们用字母代替数字,就有一个数列的一般表达方式,a1、a2、a3……an、字母的下标的数字代表“第几项“。
女:明白,首项就是a1,尾项就是an
父:嗯,那么我们还回到自然数列来,你还记不记得小时候给你讲“1、2、3……100”,高斯小时候的故事。
女:嗯,记得。别的小朋友是一个一个地加,高斯用1 100,2 99,……,一共50组数,所以答案是5050.
图2
父:不错,你还记得。但是这是高斯的方法啊,不是你自己的方法。
女:那还有更快,更好的方法吗?
父:嗯,应该说你自己思考,会有更有意思的方法。
女:什么方法?
父:先看到这个题目,你想的是什么办法?
女:一个一个的加啊。
父:对,不要小看这种方法,起码是一个办法,比没有办法强!
女:我懒得算啊!
父:懒可要不得。一个懒字就错过很多精彩的东西。
女:是吗?
父:你看啊,我们先考虑第一个思路,从1加到100不管,我们先从1加到10可以不?这样是不是容易很多了?
女:还是要算啊!1 2=3,3 3=6,6 4=10,10 5=15,15 6=21,21 7=28,28 8=36,36 9=45,45 10=55.
父:嗯,不错,算得不慢。这样就是用最基本的方法做的。你有没有想过,以前我教给你的凑整的方法,比如2 8=10,3 7=10?这样是不是更容易算些
女:嗯,1 9=10,2 8=10,3 7=10,4 6=10,5,10,40 15=55;口算是好算一些。
父:这个思路能不能用在1 100呢?
女:我试试,1 99=100,2 98=100,……,49 51=100,剩下一个50和100,总共有50个100,答案是5050. 哈哈,比高斯的办法也不差啊,还容易口算。
父:是吧,这不就是你自己根据已经学过的东西,研究的自己的算法。你看1到10,答案是55. 那么11到20 与1加到10有什么关系,相加之和是多少呢?
女:嗯,11到20的每一个数比对应的1到10的每一个数大10,总共10个数字,所以11加到20,应该是100 55=155.
父:嗯,不错。你还可以用你已经掌握的凑整法计算一下。
女:我试试。11 19=30,12 18=30,13 17=30,14 16=30,剩下15和20,120 35=155;还是刚才的方法好。
父:嗯,你也发现了。这很重要,通过已知的运算结果会大大提高运算效率,这样你就计算的又快又好。那按照你的想法,21到30,31到40,直到91到100,每一组10个数字相加有什么规律
女:这个我明白了,后边一组十个数字之和都比前一组大100
父:那么如果都对比1到10呢?
女:11到20大100,21到30大200,31到40大300,41到50大400,51到60大500,61到70大600,71到80大700,81到90大800,91到100大900.
父:那你看,每一组都有55,一共有十组,而不一样就是100,200,……,900.而这又是1加到9,再扩大100倍
女:啊哈,我知道了,55*10=550,1加到9是45,再乘以100,是4500. 550 4500=5050.这样也能算出来啊。并且这里面套了一个1 9的方法。让我想想,这里面的结构有意思。
父:看,这样你又研究出了一种新的解法。然后,我们再回到最初想想。2=1 1,3=1 1 1,4=1 1 1 1,以此类推
女:这个没什么意义吗
父:是不是后面的数字都比前面的大1,这个就叫“前后项差相等”,所以简称“等差”?
女:是,然后呢?
父:你如果把他们写下来,如下图
图3
女:哦,这样就是一个三角形,求和就是求三角形的面积,有多少行,多少列?
父:哈哈,对,但是不能简单的当作是”面积“,你用三角形面积公式计算一下
女:高是10,底也是10,所以底乘高除以2,答案是50.为啥不一样?少了5。
父:如果用你上边凑整的办法,图形就变成这样。
图4
女:对,这样就补充成一个正方形了,这个正方形有10行,10列,所以总数是100.
父:是的,你也注意到了,红色部分和黑色部分不是相等的,因此不能直接除以2,红色部分最大的是9,而不是10. 可以在第9行来看,刨除最后一行就是9*10=90,一半就是45.
女:那能不能直接补充成红色和黑色一样呢?
父:当然可以,如图
图5
女:哦,这样就多了一行,变成了11行,所以是11*10=110 一半就是55. 啊哈!这如果用来计算1加到100,就是高斯的做法啊!
父:你明白啦,你原来是只考虑了数,没有考虑形状。这其实是让你进行”图形思考“,”可视化思考“,有些方法就会变得显而易见。你在看看这个图
图6
女:哦,我看出来了,这个就是先计算1到10,以后的每组10个数都比前一组大100,多出的部分又组成了100到900的运算.
父:没错,关于自然数列求和你就明白了原理和方法,我帮你总结一下:
- 暴力法——不管那么多,我就闷头算
- 凑整法——口算经常用到
- 由小到大,分析差别——先算1~10,比较差别
- “高斯法”,首尾相加
- 图形可视化法
你悉心体会,还有更多的办法。
女:确实啊,以前没有想过这么多。
父:以后勤于思考,不要局限于题目的答案上,不要因现成的方法局限自己的思路。这很重要。而且一些问题深入思考以后,你会发现很有意思。
女:嗯,是有意思,比写作业有意思。
父:现在我们把这个方法推广至一般情况,我们把自然数列写成(1,2,3 ……n),
女:啥叫一般情况?不都算出来了吗,为啥还推广。
父:这个是一个极为重要的思想,先做出一个特殊情况的结果,然后不断把条件放宽,让这个结果可以在更大范围有作用。一方面是让我们手上的武器在处理问题时更强劲,另一方面加深我们对事物规律的认知。自然数列是最简单的等差数列,我们先把这个方法推广到任意自然数列求和,然后再推广到任意等差数列求和。
女:嗯,好像越来越复杂了。
父:我们把n项数列和命名为Sn.尝试计算一下这个数值。
女:Sn=1 2 3 …… n. 别说,让我来算下。把这个三角形反过来,两个凑一个长方形,
边长分别就是n和(n 1),然后除以2.所以
Sn=n(n 1)/2
父:很漂亮,推导出公式了。这就是高斯方法的代数表达式。你可以验证一下,从1加到10,从1加到100.
女:哈哈,一般一般。我还是有聪明才智的啦!把n=10带入,S10=10*11/2=55,
父:正确!你没发现,如果有了这个公式,你在计算起来快多了?
女:确实,确实。我再算一下1加到100,S100=100*101/2=5050.哈哈,Doublekill!
父:有了这个一般公式,无论多大的数字,你都可以计算了,并且速度非常快。比如说,从1加到1000.
女:我算算,S1000=1000*1001/2=5000500,厉害啦,我的爹!
父:你还可以计算更大的数字,再也不用一个一个算啦。我们再进一步,我想知道51到100的和,怎么计算?
女:交给我,嗯,通过公式我能算出S100,我也能算出S50,S50~100=S100-S50=100*101/2-50*51/2=50*101-25*51=25*(202-51)=3775
父:不错,不错。你已经学会灵活使用这个公式了。向深入思考还有更多有意思的事情……
(未完待续)
,