“高斯小时候非常淘气,一次数学课上,老师为了让他们安静下来,给他们列了一道很难的算式,让他们一个小时内算出1 2 3 4 5 6 …… 100的得数。全班只有高斯用了不到20分钟给出了答案,因为他想到了用(1 100) (2 99) (3 98)…… (50 51)……一共有50个101,所以50?101就是1加到一百的得数。后来人们把这种简便算法称作高斯算法。”
这个故事每一个同学都想必耳熟能详,同样在很多编程作品里面我也看到了很多同学将这种数学方法迁移过来了:
那如果不用高斯算法,大家能够想出来其它方法吗?
相信同学们很聪明地想到了:我们可以利用变量来储存每一个数字,把1---100每一个数字都放进变量里面,把他们合在一起就是总和了:
至于最后就简单了,我们只需要明白我们是从1开始放入并且一开始抽屉是空的:
恭喜大家新技能get!
知识百科:
约翰?卡尔?弗里德里希?高斯(Johann Carl Friedrich Gauss ,1777年4月30日-1855年2月23日)德国著名数学家、物理学家、天文学家、大地测量学家,是近代数学奠基者之一,被认为是历史上最重要的数学家之一,并享有“数学王子”之称。
高斯和阿基米德、牛顿并列为世界三大数学家。一生成就极为丰硕,以他名字“高斯”命名的成果达110个,属数学家中之最。他对数论、代数、统计、分析、微分几何、大地测量学、地球物理学、力学、静电学、天文学、矩阵理论和光学皆有贡献。