
●从高斯的巧妙算法谈起科学家讲坛陈景润(中国科学院数学研究所研究员)


答案见文末
十八世纪时,德国出了一位大科学家,他的名字叫高斯(C·F·Gaus)。高斯生在一个很贫穷的家庭里,他父亲是一个劳苦的工人。据说,高斯在还不会说话的时候就开始学习算术。三岁时,有一天晚上他看着父亲计算工钱,还纠正了父亲计算中的错误。长大后,他成为当时最杰出的数学家、物理学家和天文学家。现在,电磁学中的一些单位,还是用他的名字来命名的,数学家们则称他为“数学王子”。高斯八岁时进入乡村小学读书,教算术的是一位从城里来的老师。这位老师觉得在乡下教几个穷孩子读书,真是大材小用。他认为,穷人的孩子天生都是笨蛋,这些蠢笨的孩子一定不会把书念好。如果有机会,还要打他们几下,以使自己在这枯燥的生活里增添一些乐趣。有一天,算术老师情绪很低落。同学们看到老师非常不高兴的脸儿,都害怕起来,心想今天可能又有谁要挨老师的打了。老师说:“你们今天替我算算1加2,加3,加4,加5,一直加到100的和。谁算不出来,就罚他不准回家吃午饭!”老师讲完这句话,什么也不管,独自坐到椅子里看小说去了。课堂里的小朋友们拿起石板开始计算:1加2等于3,3加3等于6,6加4等于10,10加5等于15,15加6等于21,21 加7等于28,28加8等于36,…有些小朋友加到几个数字后, 就把石板上的结果擦掉了。继续加下去,数字越来越大,很不好算。不少孩子的脸涨得通红,有的孩子的头上渗出了汗珠。还不到半点钟,小高斯拿起了他的石板,走上前去。“老师,答案是不是这样?”老师头也不抬,挥着那肥厚的手,说:“去!回去再算!错了!”他想,不可能这么快就会有答案的。可是,高斯却站着不动,把石板伸向老师面前。“老师,我想这个答案是对的。”算术老师本要怒吼起来,可是一看石板,上面整整齐齐写着:5050,他惊奇起来,因为他自己曾经算过,得到的数值也是5050。这个八岁的小鬼怎么这样快就得到了这数值呢?高斯解释了他发现的一个方法,这就是古时我国人和希腊人用来计算级数1+2+3+…+n的方法。高斯的发现使老师觉得羞愧,认识到自己以前目空一切和轻视穷人家的孩子的想法是错误的。他以后也认真教起书来,并且还常从城里买些数学书自己进修,并借给高斯看。在他的鼓励下,高斯以后便开始在数学上作了一些重要的研究。古时的中国人和希腊人怎样算1+2+3+…+n?宋朝数学家杨辉和他的学生们用1个圆球代表1,用2个圆球代表2,用3个圆球代表3,当n≥4时,用n个圆球代表n。于是有:




以上内容摘自《数理化生园地》1983年第2辑,上海科学技术出版社
作者简介:
陈景润
(中国科学院院士、数学家)
陈景润(1933年5月22日~1996年3月19日),男,汉族,福建福州人,中国著名数学家。
1933年5月22日出生于福建省福州市仓山区。1949年至1953年就读于厦门大学数学系,1953年9月分配到北京四中任教。1955年2月由当时厦门大学的校长王亚南先生举荐,回母校厦门大学数学系任助教。1957年10月,由于华罗庚教授的赏识,陈景润被调到中国科学院数学研究所。1973年发表了(1+2)的详细证明,被公认为是对哥德巴赫猜想研究的重大贡献。 1981年3月当选为中国科学院学部委员(院士)。曾任国家科委数学学科组成员,中国科学院原数学研究所研究员。1992年任《数学学报》主编。
1966年发表《表达偶数为一个素数及一个不超过两个素数的乘积之和》(简称“1+2”),成为哥德巴赫猜想研究上的里程碑。
1973年他在《中国科学》发表了“1+2”的详细证明并改进了1966年宣布的数值结果,立即在国际数学界引起了轰动,被公认为是对哥德巴赫猜想研究的重大贡献,是筛法理论的光辉顶点。他的成果被国际数学界称为“陈氏定理”,写进美、英、法、苏、日等六国的许多数论书中。这项工作还使他与王元、潘承洞在1978年共同获得中国自然科学奖一等奖。
1996年3月19日下午1点10分,陈景润在北京医院去世,年仅63岁。
2018年12月18日,*党**中央、国务院授予陈景润同志改革先锋称号,颁授改革先锋奖章,并获评激励青年勇攀科学高峰的典范。
2019年9月25日,入选“最美奋斗者”个人名单。
其他著作还有《初等数论》。
读书笔记
如果让今天的小学生做高斯的这道等差级数求和题,不许用高斯的算法,会用怎样的方法做呢?我们来探讨一下,用其他方法怎么求和。高斯的方法应该是最佳算法,巧妙地把不同的加数转化为相同的加数,于是加法计算题居然可以回避加法,只用乘法和除法就求出答案。当然,一题多解是常有的事,还有其它方法。方法一:最简单的方法就是直接算,不动脑,硬算也可以。打百子(driving hundred beads)是练习珠算拨珠指法和加法口诀的一种方法。即从1加起,依次加到100,结果为5050;再从5050依次减1,2,…到100得0。当年学珠算的同学,用这道题练基本功,就是从1开始,挨着加,一个不漏地把100个数加完,目的是练指法和练速度与准确性。用算盘硬算,如果指法和口诀都很熟练,其实也很快。如果你用算盘亲自练习过,会形成肌肉记忆。即使很多年没有摸过算盘,你也会记得加到36的时候,得数是666,如果不是,那你的算盘一定打错了。再说第二种方法。可以把100个数分类,第一步可以分为三类,即个位数、十位数和百位数。十位数有90个,即个位是0的整十数有9个,个位不为0的十位数有81个。第二步把这81个十位数继续拆分,每一个都拆分为整十数加个位数。现在100个数变成了181个数,虽然数变多了,但是变得很有规律。这181个数可以分为三类:个位数90个,十位数90个,百位数1个。现在,这90个十位数的个位都是0,大大降低了计算难度。我们知道,从1加到9,等差级数的和是45,下面我们开始分类计算,最后再相加。先算90个个位数之和。算式是45×10=450。再算90个十位数之和。计算之前先分组,简化计算。可以把10、20到90这9个数分为一组,共分10组,每一组的数字都一样。于是可以列算式450×10=4500,这就把个位数和十位数都算出来了。百位数只有一个,于是列出算式:450+4500+100=5050谈谈第三种方法。把这100个数依次按顺序分为10组,每组10个数。第一组的和是55,第二组的和是55+10×10=155,第三组的和是55+10×20=255,根据规律,10组的和都可以算出来。算式如下:55+155+255+...+955=55×10+100+200+300+...+900=550+45×100=5050还有第四种方法:把这100个数分为奇数和偶数两组,分别求和再汇总就得到答案了。先算奇数,首项是1,末项是99,项数是50,可得以下算式:50(99+1)÷2=2500。再算偶数,显然有2500+50=2550。因为把奇数和偶数排成两列,显然每一个偶数比对应的奇数大1,共50个偶数,所以偶数和是2550。列算式就是2500+2550=5050